summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJoas Schilling <213943+nickvergessen@users.noreply.github.com>2024-01-26 21:11:05 +0100
committerGitHub <noreply@github.com>2024-01-26 21:11:05 +0100
commitf7dea13c9245d59f8e890929078345d7161c12b4 (patch)
treedc3eb70f20282d0ccf8e68262c3ca03e5fb2621a /tests
parent01520d565ce9a65fe4c512518a75b116b805fe99 (diff)
parent58506952840049b69224ae119f89da0f25737a11 (diff)
downloadnextcloud-server-f7dea13c9245d59f8e890929078345d7161c12b4.tar.gz
nextcloud-server-f7dea13c9245d59f8e890929078345d7161c12b4.zip
Merge pull request #41003 from nextcloud/chore/migrate-behat-to-github
chore(tests): Run all unit tests on GitHub instead of Drone
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/Files/ObjectStore/S3Test.php19
-rw-r--r--tests/lib/Files/ObjectStore/SwiftTest.php4
-rw-r--r--tests/preseed-config.php89
-rw-r--r--tests/redis.config.php2
4 files changed, 50 insertions, 64 deletions
diff --git a/tests/lib/Files/ObjectStore/S3Test.php b/tests/lib/Files/ObjectStore/S3Test.php
index fd451dc3c01..c8333ca1ea3 100644
--- a/tests/lib/Files/ObjectStore/S3Test.php
+++ b/tests/lib/Files/ObjectStore/S3Test.php
@@ -106,29 +106,30 @@ class S3Test extends ObjectStoreTest {
}
public function assertNoUpload($objectUrn) {
+ /** @var \OC\Files\ObjectStore\S3 */
$s3 = $this->getInstance();
$s3client = $s3->getConnection();
$uploads = $s3client->listMultipartUploads([
'Bucket' => $s3->getBucket(),
'Prefix' => $objectUrn,
]);
- $this->assertArrayNotHasKey('Uploads', $uploads);
+ $this->assertArrayNotHasKey('Uploads', $uploads, 'Assert is not uploaded');
}
public function testEmptyUpload() {
$s3 = $this->getInstance();
$emptyStream = fopen("php://memory", "r");
- fwrite($emptyStream, null);
+ fwrite($emptyStream, '');
$s3->writeObject('emptystream', $emptyStream);
$this->assertNoUpload('emptystream');
- $this->assertTrue($s3->objectExists('emptystream'));
+ $this->assertTrue($s3->objectExists('emptystream'), 'Object exists on S3');
$thrown = false;
try {
- self::assertFalse($s3->readObject('emptystream'));
+ self::assertFalse($s3->readObject('emptystream'), 'Reading empty stream object should return false');
} catch (\Exception $e) {
// An exception is expected here since 0 byte files are wrapped
// to be read from an empty memory stream in the ObjectStoreStorage
@@ -163,20 +164,20 @@ class S3Test extends ObjectStoreTest {
$s3->writeObject('testfilesizes', $sourceStream);
$this->assertNoUpload('testfilesizes');
- self::assertTrue($s3->objectExists('testfilesizes'));
+ self::assertTrue($s3->objectExists('testfilesizes'), 'Object exists on S3');
$result = $s3->readObject('testfilesizes');
// compare first 100 bytes
- self::assertEquals(str_repeat('A', 100), fread($result, 100));
+ self::assertEquals(str_repeat('A', 100), fread($result, 100), 'Compare first 100 bytes');
- // compare 100 bytes
+ // compare last 100 bytes
fseek($result, $size - 100);
- self::assertEquals(str_repeat('A', 100), fread($result, 100));
+ self::assertEquals(str_repeat('A', 100), fread($result, 100), 'Compare last 100 bytes');
// end of file reached
fseek($result, $size);
- self::assertTrue(feof($result));
+ self::assertTrue(feof($result), 'End of file reached');
$this->assertNoUpload('testfilesizes');
}
diff --git a/tests/lib/Files/ObjectStore/SwiftTest.php b/tests/lib/Files/ObjectStore/SwiftTest.php
index 1ea55a84628..bebfba0c8a4 100644
--- a/tests/lib/Files/ObjectStore/SwiftTest.php
+++ b/tests/lib/Files/ObjectStore/SwiftTest.php
@@ -38,4 +38,8 @@ class SwiftTest extends ObjectStoreTest {
return new Swift($config['arguments']);
}
+
+ public function testFseekSize() {
+ $this->markTestSkipped('Swift does not support seeking at the moment');
+ }
}
diff --git a/tests/preseed-config.php b/tests/preseed-config.php
index 16aea87c8a7..c62b4471280 100644
--- a/tests/preseed-config.php
+++ b/tests/preseed-config.php
@@ -25,71 +25,52 @@ if (getenv('OBJECT_STORE') === 's3') {
'arguments' => [
'bucket' => 'nextcloud',
'autocreate' => true,
- 'key' => 'nextcloud',
- 'secret' => 'nextcloud',
- 'hostname' => getenv('DRONE') === 'true' ? 'minio' : 'localhost',
+ 'key' => getenv('OBJECT_STORE_KEY') ?: 'nextcloud',
+ 'secret' => getenv('OBJECT_STORE_SECRET') ?: 'nextcloud',
+ 'hostname' => getenv('OBJECT_STORE_HOST') ?: 'localhost',
'port' => 9000,
'use_ssl' => false,
// required for some non amazon s3 implementations
'use_path_style' => true
]
];
-}
-if (getenv('OBJECT_STORE') === 'swift') {
- $swiftHost = getenv('DRONE') === 'true' ? 'dockswift' : 'localhost';
-
- if (getenv('SWIFT-AUTH') === 'v2.0') {
- $CONFIG['objectstore'] = [
- 'class' => 'OC\\Files\\ObjectStore\\Swift',
- 'arguments' => [
- 'autocreate' => true,
- 'username' => 'swift',
- 'tenantName' => 'service',
- 'password' => 'swift',
- 'serviceName' => 'swift',
- 'region' => 'regionOne',
- 'url' => "http://$swiftHost:5000/v2.0",
- 'bucket' => 'nextcloud'
- ]
- ];
- } else {
- $CONFIG['objectstore'] = [
- 'class' => 'OC\\Files\\ObjectStore\\Swift',
- 'arguments' => [
- 'autocreate' => true,
- 'user' => [
- 'name' => 'swift',
- 'password' => 'swift',
- 'domain' => [
- 'name' => 'default',
- ]
- ],
- 'scope' => [
- 'project' => [
- 'name' => 'service',
- 'domain' => [
- 'name' => 'default',
- ],
- ],
- ],
- 'tenantName' => 'service',
- 'serviceName' => 'swift',
- 'region' => 'regionOne',
- 'url' => "http://$swiftHost:5000/v3",
- 'bucket' => 'nextcloud'
- ]
- ];
- }
-}
-if (getenv('OBJECT_STORE') === 'azure') {
+} elseif (getenv('OBJECT_STORE') === 'azure') {
$CONFIG['objectstore'] = [
'class' => 'OC\\Files\\ObjectStore\\Azure',
'arguments' => [
'container' => 'test',
- 'account_name' => 'devstoreaccount1',
- 'account_key' => 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==',
- 'endpoint' => 'http://' . (getenv('DRONE') === 'true' ? 'azurite' : 'localhost') . ':10000/devstoreaccount1',
+ 'account_name' => getenv('OBJECT_STORE_KEY') ?: 'devstoreaccount1',
+ 'account_key' => getenv('OBJECT_STORE_SECRET') ?: 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==',
+ 'endpoint' => 'http://' . (getenv('OBJECT_STORE_HOST') ?: 'localhost') . ':10000/' . (getenv('OBJECT_STORE_KEY') ?: 'devstoreaccount1'),
'autocreate' => true
]
];
+} elseif (getenv('OBJECT_STORE') === 'swift') {
+ $swiftHost = getenv('OBJECT_STORE_HOST') ?: 'localhost:5000';
+
+ $CONFIG['objectstore'] = [
+ 'class' => 'OC\\Files\\ObjectStore\\Swift',
+ 'arguments' => [
+ 'autocreate' => true,
+ 'user' => [
+ 'name' => getenv('OBJECT_STORE_KEY') ?: 'swift',
+ 'password' => getenv('OBJECT_STORE_SECRET') ?: 'swift',
+ 'domain' => [
+ 'name' => 'Default',
+ ],
+ ],
+ 'scope' => [
+ 'project' => [
+ 'name' => 'service',
+ 'domain' => [
+ 'name' => 'Default',
+ ],
+ ],
+ ],
+ 'serviceName' => 'service',
+ 'region' => 'RegionOne',
+ 'url' => "http://$swiftHost/v3",
+ 'bucket' => 'nextcloud',
+ ]
+ ];
}
diff --git a/tests/redis.config.php b/tests/redis.config.php
index 9d3f1eca63e..2ff46ec6728 100644
--- a/tests/redis.config.php
+++ b/tests/redis.config.php
@@ -5,7 +5,7 @@ $CONFIG = [
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' => [
- 'host' => 'cache',
+ 'host' => 'localhost',
'port' => 6379,
'timeout' => 0,
],