kopia lustrzana https://github.com/nextcloud/social
				
				
				
			
						commit
						fc69c26ff9
					
				
							
								
								
									
										43
									
								
								.drone.yml
								
								
								
								
							
							
						
						
									
										43
									
								
								.drone.yml
								
								
								
								
							| 
						 | 
					@ -69,6 +69,20 @@ pipeline:
 | 
				
			||||||
    when:
 | 
					    when:
 | 
				
			||||||
      matrix:
 | 
					      matrix:
 | 
				
			||||||
        TESTS: syntax-php7.3
 | 
					        TESTS: syntax-php7.3
 | 
				
			||||||
 | 
					  php7.1:
 | 
				
			||||||
 | 
					    image: nextcloudci/php7.1:php7.1-16
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      - APP_NAME=social
 | 
				
			||||||
 | 
					      - CORE_BRANCH=stable15
 | 
				
			||||||
 | 
					    commands:
 | 
				
			||||||
 | 
					      - bash ./tests/drone-server-setup.sh $APP_NAME $CORE_BRANCH ${DB}
 | 
				
			||||||
 | 
					      - cd ../server/apps/$APP_NAME
 | 
				
			||||||
 | 
					      - composer install
 | 
				
			||||||
 | 
					      - phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
 | 
				
			||||||
 | 
					    when:
 | 
				
			||||||
 | 
					      matrix:
 | 
				
			||||||
 | 
					        TESTS: php7.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  eslint:
 | 
					  eslint:
 | 
				
			||||||
    image: node:lts-alpine
 | 
					    image: node:lts-alpine
 | 
				
			||||||
    commands:
 | 
					    commands:
 | 
				
			||||||
| 
						 | 
					@ -85,6 +99,28 @@ pipeline:
 | 
				
			||||||
    when:
 | 
					    when:
 | 
				
			||||||
      matrix:
 | 
					      matrix:
 | 
				
			||||||
        TESTS: vue-build
 | 
					        TESTS: vue-build
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					  mysql:
 | 
				
			||||||
 | 
					    image: mysql:5.7.22
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      - MYSQL_ROOT_PASSWORD=owncloud
 | 
				
			||||||
 | 
					      - MYSQL_USER=oc_autotest
 | 
				
			||||||
 | 
					      - MYSQL_PASSWORD=owncloud
 | 
				
			||||||
 | 
					      - MYSQL_DATABASE=oc_autotest
 | 
				
			||||||
 | 
					    command: [ "--innodb_large_prefix=true", "--innodb_file_format=barracuda", "--innodb_file_per_table=true" ]
 | 
				
			||||||
 | 
					    when:
 | 
				
			||||||
 | 
					      matrix:
 | 
				
			||||||
 | 
					        DB: mysql
 | 
				
			||||||
 | 
					  postgres:
 | 
				
			||||||
 | 
					    image: postgres:10
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      - POSTGRES_USER=oc_autotest
 | 
				
			||||||
 | 
					      # This is required as nextcloud will create a separte user since the oc_autotest user can create roles
 | 
				
			||||||
 | 
					      - POSTGRES_DB=oc_autotest_dummy
 | 
				
			||||||
 | 
					      - POSTGRES_PASSWORD=owncloud
 | 
				
			||||||
 | 
					    when:
 | 
				
			||||||
 | 
					      matrix:
 | 
				
			||||||
 | 
					        DB: postgres
 | 
				
			||||||
 | 
					
 | 
				
			||||||
matrix:
 | 
					matrix:
 | 
				
			||||||
  include:
 | 
					  include:
 | 
				
			||||||
| 
						 | 
					@ -93,6 +129,13 @@ matrix:
 | 
				
			||||||
    - TESTS: syntax-php7.1
 | 
					    - TESTS: syntax-php7.1
 | 
				
			||||||
    - TESTS: syntax-php7.2
 | 
					    - TESTS: syntax-php7.2
 | 
				
			||||||
    - TESTS: syntax-php7.3
 | 
					    - TESTS: syntax-php7.3
 | 
				
			||||||
 | 
					    - TESTS: php7.1
 | 
				
			||||||
 | 
					      DB: sqlite
 | 
				
			||||||
 | 
					    - TESTS: php7.1
 | 
				
			||||||
 | 
					      DB: mysql
 | 
				
			||||||
 | 
					    # Removed temporary until we migrated notes to a new table 
 | 
				
			||||||
 | 
					    # - TESTS: php7.1
 | 
				
			||||||
 | 
					    #   DB: postgres
 | 
				
			||||||
    - TESTS: eslint
 | 
					    - TESTS: eslint
 | 
				
			||||||
    - TESTS: vue-build
 | 
					    - TESTS: vue-build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,12 +9,18 @@
 | 
				
			||||||
      "email": "maxence@artificial-owl.com"
 | 
					      "email": "maxence@artificial-owl.com"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
 | 
					  "config": {
 | 
				
			||||||
 | 
					    "platform": {
 | 
				
			||||||
 | 
					      "php": "7.0.0"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  "require": {
 | 
					  "require": {
 | 
				
			||||||
    "daita/my-small-php-tools": "dev-master",
 | 
					    "daita/my-small-php-tools": "dev-master",
 | 
				
			||||||
    "friendica/json-ld": "^1.0"
 | 
					    "friendica/json-ld": "^1.0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "require-dev": {
 | 
					  "require-dev": {
 | 
				
			||||||
    "jakub-onderka/php-parallel-lint": "^1.0"
 | 
					    "jakub-onderka/php-parallel-lint": "^1.0",
 | 
				
			||||||
 | 
					    "phpunit/phpunit": "^6.4"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "repositories": [
 | 
					  "repositories": [
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												Plik diff jest za duży
												Load Diff
											
										
									
								
							| 
						 | 
					@ -0,0 +1,27 @@
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					namespace OCA\Social\Tests;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use OCA\Social\Controller\NavigationController;
 | 
				
			||||||
 | 
					use OCA\Social\Controller\SocialPubController;
 | 
				
			||||||
 | 
					use OCA\Social\Service\CacheActorService;
 | 
				
			||||||
 | 
					use OCP\IL10N;
 | 
				
			||||||
 | 
					use OCP\IRequest;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class SocialTest extends \PHPUnit\Framework\TestCase {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public function testDummy() {
 | 
				
			||||||
 | 
							/**
 | 
				
			||||||
 | 
							 * Dummy test to check if phpunit is working properly
 | 
				
			||||||
 | 
							 */
 | 
				
			||||||
 | 
							$socialPub = new SocialPubController(
 | 
				
			||||||
 | 
								'admin',
 | 
				
			||||||
 | 
								$this->createMock(IRequest::class),
 | 
				
			||||||
 | 
								$this->createMock(IL10N::class),
 | 
				
			||||||
 | 
								$this->createMock(CacheActorService::class),
 | 
				
			||||||
 | 
								$this->createMock(NavigationController::class)
 | 
				
			||||||
 | 
							);
 | 
				
			||||||
 | 
							$socialPub->actor('123');
 | 
				
			||||||
 | 
							$this->assertTrue(true);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require_once __DIR__ . '/../../../tests/bootstrap.php';
 | 
				
			||||||
 | 
					require_once __DIR__.'/../vendor/autoload.php';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\OC_App::loadApp('social');
 | 
				
			||||||
 | 
					OC_Hook::clear();
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,138 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# TODO: move this out of the repo to make it usable in other apps
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DATABASENAME=oc_autotest
 | 
				
			||||||
 | 
					DATABASEUSER=oc_autotest
 | 
				
			||||||
 | 
					[ -z "$DATABASEHOST" ] && DATABASEHOST="localhost"
 | 
				
			||||||
 | 
					ADMINLOGIN=admin
 | 
				
			||||||
 | 
					BASEDIR=$PWD
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DBCONFIGS="sqlite mysql pgsql oracle"
 | 
				
			||||||
 | 
					PHPUNIT=$(which phpunit)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ $1 ]; then
 | 
				
			||||||
 | 
						FOUND=0
 | 
				
			||||||
 | 
						for DBCONFIG in $DBCONFIGS; do
 | 
				
			||||||
 | 
							if [ $1 = $DBCONFIG ]; then
 | 
				
			||||||
 | 
								FOUND=1
 | 
				
			||||||
 | 
								break
 | 
				
			||||||
 | 
							fi
 | 
				
			||||||
 | 
						done
 | 
				
			||||||
 | 
						if [ $FOUND = 0 ]; then
 | 
				
			||||||
 | 
							echo -e "Unknown database config name \"$1\"\n" >&2
 | 
				
			||||||
 | 
							print_syntax
 | 
				
			||||||
 | 
							exit 2
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# use tmpfs for datadir - should speedup unit test execution
 | 
				
			||||||
 | 
					DATADIR=$BASEDIR/data-autotest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Using $1 database $DATABASENAME"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# create autoconfig for sqlite, mysql and postgresql
 | 
				
			||||||
 | 
					cat > ./tests/autoconfig-sqlite.php <<DELIM
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					\$AUTOCONFIG = array (
 | 
				
			||||||
 | 
					  'installed' => false,
 | 
				
			||||||
 | 
					  'dbtype' => 'sqlite',
 | 
				
			||||||
 | 
					  'dbtableprefix' => 'oc_',
 | 
				
			||||||
 | 
					  'adminlogin' => '$ADMINLOGIN',
 | 
				
			||||||
 | 
					  'adminpass' => 'admin',
 | 
				
			||||||
 | 
					  'directory' => '$DATADIR',
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
 | 
					DELIM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cat > ./tests/autoconfig-mysql.php <<DELIM
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					\$AUTOCONFIG = array (
 | 
				
			||||||
 | 
					  'installed' => false,
 | 
				
			||||||
 | 
					  'dbtype' => 'mysql',
 | 
				
			||||||
 | 
					  'dbtableprefix' => 'oc_',
 | 
				
			||||||
 | 
					  'adminlogin' => '$ADMINLOGIN',
 | 
				
			||||||
 | 
					  'adminpass' => 'admin',
 | 
				
			||||||
 | 
					  'directory' => '$DATADIR',
 | 
				
			||||||
 | 
					  'dbuser' => '$DATABASEUSER',
 | 
				
			||||||
 | 
					  'dbname' => '$DATABASENAME',
 | 
				
			||||||
 | 
					  'dbhost' => '$DATABASEHOST',
 | 
				
			||||||
 | 
					  'dbpass' => 'owncloud',
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
 | 
					DELIM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cat > ./tests/autoconfig-pgsql.php <<DELIM
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					\$AUTOCONFIG = array (
 | 
				
			||||||
 | 
					  'installed' => false,
 | 
				
			||||||
 | 
					  'dbtype' => 'pgsql',
 | 
				
			||||||
 | 
					  'dbtableprefix' => 'oc_',
 | 
				
			||||||
 | 
					  'adminlogin' => '$ADMINLOGIN',
 | 
				
			||||||
 | 
					  'adminpass' => 'admin',
 | 
				
			||||||
 | 
					  'directory' => '$DATADIR',
 | 
				
			||||||
 | 
					  'dbuser' => '$DATABASEUSER',
 | 
				
			||||||
 | 
					  'dbname' => '$DATABASENAME',
 | 
				
			||||||
 | 
					  'dbhost' => '$DATABASEHOST',
 | 
				
			||||||
 | 
					  'dbpass' => 'owncloud',
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
 | 
					DELIM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cat > ./tests/autoconfig-oracle.php <<DELIM
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					\$AUTOCONFIG = array (
 | 
				
			||||||
 | 
					  'installed' => false,
 | 
				
			||||||
 | 
					  'dbtype' => 'oci',
 | 
				
			||||||
 | 
					  'dbtableprefix' => 'oc_',
 | 
				
			||||||
 | 
					  'adminlogin' => '$ADMINLOGIN',
 | 
				
			||||||
 | 
					  'adminpass' => 'admin',
 | 
				
			||||||
 | 
					  'directory' => '$DATADIR',
 | 
				
			||||||
 | 
					  'dbuser' => 'autotest',
 | 
				
			||||||
 | 
					  'dbname' => 'XE',
 | 
				
			||||||
 | 
					  'dbhost' =>'$DATABASEHOST',
 | 
				
			||||||
 | 
					  'dbpass' => 'owncloud',
 | 
				
			||||||
 | 
					  'loglevel' => 0,
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
 | 
					DELIM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function run_install {
 | 
				
			||||||
 | 
						echo "Setup environment for $1 testing ..."
 | 
				
			||||||
 | 
						# back to root folder
 | 
				
			||||||
 | 
						cd $BASEDIR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# revert changes to tests/data
 | 
				
			||||||
 | 
						git checkout tests/data/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# reset data directory
 | 
				
			||||||
 | 
						rm -rf $DATADIR
 | 
				
			||||||
 | 
						mkdir $DATADIR
 | 
				
			||||||
 | 
						touch $DATADIR/nextcloud.log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						cp tests/preseed-config.php config/config.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# copy autoconfig
 | 
				
			||||||
 | 
						cp $BASEDIR/tests/autoconfig-$1.php $BASEDIR/config/autoconfig.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# trigger installation
 | 
				
			||||||
 | 
						echo "INDEX"
 | 
				
			||||||
 | 
						php -f index.php
 | 
				
			||||||
 | 
						echo "END INDEX"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function print_config {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo "nextcloud configuration:"
 | 
				
			||||||
 | 
					    cat $BASEDIR/config/config.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo "data directory:"
 | 
				
			||||||
 | 
					    ls -ll $DATADIR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo "nextcloud.log:"
 | 
				
			||||||
 | 
					    [[ -f "$DATADIR/nextcloud.log" ]] && cat $DATADIR/nextcloud.log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					run_install $1
 | 
				
			||||||
 | 
					print_config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cd $BASEDIR
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,65 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# ownCloud
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# @author Thomas Müller
 | 
				
			||||||
 | 
					# @copyright 2014 Thomas Müller thomas.mueller@tmit.eu
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# TODO: move this out of the repo to make it usable in other apps
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WORKDIR=$PWD
 | 
				
			||||||
 | 
					APP_NAME=$1
 | 
				
			||||||
 | 
					CORE_BRANCH=$2
 | 
				
			||||||
 | 
					DB=$3
 | 
				
			||||||
 | 
					echo "Work directory: $WORKDIR"
 | 
				
			||||||
 | 
					echo "Database: $DB"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Cloning server
 | 
				
			||||||
 | 
					cd ..
 | 
				
			||||||
 | 
					git clone --depth 1 -b $CORE_BRANCH https://github.com/nextcloud/server
 | 
				
			||||||
 | 
					cd server
 | 
				
			||||||
 | 
					git submodule update --init
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Move app into apps folder
 | 
				
			||||||
 | 
					cd apps
 | 
				
			||||||
 | 
					cp -R $WORKDIR/ $APP_NAME
 | 
				
			||||||
 | 
					cd $WORKDIR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[ -z "$DATABASEHOST" ]] && DATABASEHOST="$DB"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ "$DB" == "mysql" ]] ; then
 | 
				
			||||||
 | 
					    echo "Waiting for MySQL initialisation ..."
 | 
				
			||||||
 | 
					    if ! ../server/apps/files_external/tests/env/wait-for-connection $DATABASEHOST 3306 600; then
 | 
				
			||||||
 | 
					      echo "[ERROR] Waited 600 seconds, no response" >&2
 | 
				
			||||||
 | 
					      exit 1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ "$DB" == "postgres" ]] ; then
 | 
				
			||||||
 | 
					    echo "Waiting for Postgres to be available ..."
 | 
				
			||||||
 | 
					    if ! ../server/apps/files_external/tests/env/wait-for-connection $DATABASEHOST 5432 60; then
 | 
				
			||||||
 | 
					      echo "[ERROR] Waited 60 seconds for $DATABASEHOST, no response" >&2
 | 
				
			||||||
 | 
					      exit 1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    echo "Give it 10 additional seconds ..."
 | 
				
			||||||
 | 
					    sleep 10
 | 
				
			||||||
 | 
					    # Temporary fix since core_install uses pgsql
 | 
				
			||||||
 | 
					    DB="pgsql"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# TODO: oracle
 | 
				
			||||||
 | 
					export DATABASEHOST="$DATABASEHOST"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Installing server"
 | 
				
			||||||
 | 
					cd ../server
 | 
				
			||||||
 | 
					bash $WORKDIR/tests/drone-server-install.sh $DB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Installing app: $APP_NAME"
 | 
				
			||||||
 | 
					php occ app:enable $APP_NAME
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cd apps/$APP_NAME
 | 
				
			||||||
 | 
					pwd
 | 
				
			||||||
 | 
					ls /drone/src
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,23 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8" ?>
 | 
				
			||||||
 | 
					<phpunit bootstrap="bootstrap.php"
 | 
				
			||||||
 | 
							 verbose="true"
 | 
				
			||||||
 | 
							 timeoutForSmallTests="900"
 | 
				
			||||||
 | 
							 timeoutForMediumTests="900"
 | 
				
			||||||
 | 
							 timeoutForLargeTests="900"
 | 
				
			||||||
 | 
							>
 | 
				
			||||||
 | 
						<testsuite name='Social App Tests'>
 | 
				
			||||||
 | 
							<directory suffix='Test.php'>.</directory>
 | 
				
			||||||
 | 
						</testsuite>
 | 
				
			||||||
 | 
						<!-- filters for code coverage -->
 | 
				
			||||||
 | 
						<filter>
 | 
				
			||||||
 | 
							<whitelist>
 | 
				
			||||||
 | 
								<directory suffix=".php">../appinfo</directory>
 | 
				
			||||||
 | 
								<directory suffix=".php">../lib</directory>
 | 
				
			||||||
 | 
							</whitelist>
 | 
				
			||||||
 | 
						</filter>
 | 
				
			||||||
 | 
						<logging>
 | 
				
			||||||
 | 
							<!-- and this is where your report will be written -->
 | 
				
			||||||
 | 
							<log type="coverage-clover" target="./clover.xml"/>
 | 
				
			||||||
 | 
						</logging>
 | 
				
			||||||
 | 
					</phpunit>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Ładowanie…
	
		Reference in New Issue