kopia lustrzana https://github.com/nextcloud/social
				
				
				
			
						commit
						fc69c26ff9
					
				
							
								
								
									
										43
									
								
								.drone.yml
								
								
								
								
							
							
						
						
									
										43
									
								
								.drone.yml
								
								
								
								
							|  | @ -69,6 +69,20 @@ pipeline: | |||
|     when: | ||||
|       matrix: | ||||
|         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: | ||||
|     image: node:lts-alpine | ||||
|     commands: | ||||
|  | @ -85,6 +99,28 @@ pipeline: | |||
|     when: | ||||
|       matrix: | ||||
|         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: | ||||
|   include: | ||||
|  | @ -93,6 +129,13 @@ matrix: | |||
|     - TESTS: syntax-php7.1 | ||||
|     - TESTS: syntax-php7.2 | ||||
|     - 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: vue-build | ||||
| 
 | ||||
|  |  | |||
|  | @ -9,12 +9,18 @@ | |||
|       "email": "maxence@artificial-owl.com" | ||||
|     } | ||||
|   ], | ||||
|   "config": { | ||||
|     "platform": { | ||||
|       "php": "7.0.0" | ||||
|     } | ||||
|   }, | ||||
|   "require": { | ||||
|     "daita/my-small-php-tools": "dev-master", | ||||
|     "friendica/json-ld": "^1.0" | ||||
|   }, | ||||
|   "require-dev": { | ||||
|     "jakub-onderka/php-parallel-lint": "^1.0" | ||||
|     "jakub-onderka/php-parallel-lint": "^1.0", | ||||
|     "phpunit/phpunit": "^6.4" | ||||
|   }, | ||||
|   "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
	
	 Maxence Lange
						Maxence Lange