Merge pull request #27803 from nextcloud/backport/27198/stable21

[stable21] Run s3 tests again
This commit is contained in:
Lukas Reschke 2021-07-05 15:04:43 +02:00 committed by GitHub
commit c6762fd0d1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 10 deletions

View file

@ -2090,6 +2090,15 @@ kind: pipeline
name: object-store-s3
steps:
- name: minio
image: ghcr.io/nextcloud/continuous-integration-minio:latest
detach: true
commands:
- mkdir /s3data
- minio server /s3data
environment:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: nextcloud
- name: submodules
image: docker:git
commands:
@ -2097,6 +2106,7 @@ steps:
- name: object-store
image: nextcloudci/php7.4:php7.4-3
environment:
OBJECT_STORE: s3
CODECOV_TOKEN:
from_secret: CODECOV_TOKEN
commands:
@ -2130,6 +2140,7 @@ steps:
- name: object-store
image: nextcloudci/php7.4:php7.4-3
environment:
OBJECT_STORE: azure
CODECOV_TOKEN:
from_secret: CODECOV_TOKEN
commands:

View file

@ -12,6 +12,12 @@ function get_swift_token() {
fi
}
if [ "$OBJECT_STORE" == "s3" ]; then
echo "Waiting for minio to be ready"
timeout 60 bash -c 'while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' http://minio:9000)" != "403" ]]; do sleep 5; done' || (
echo "Failed to wait for minio to be ready" && exit 1
)
fi
if [ "$OBJECT_STORE" == "swift" ]; then
echo "waiting for keystone"
until get_swift_token

View file

@ -62,7 +62,7 @@ class NonSeekableStream extends Wrapper {
class S3Test extends ObjectStoreTest {
protected function getInstance() {
$config = \OC::$server->getConfig()->getSystemValue('objectstore');
if (!is_array($config) || $config['class'] !== 'OC\\Files\\ObjectStore\\S3') {
if (!is_array($config) || $config['class'] !== S3::class) {
$this->markTestSkipped('objectstore not configured for s3');
}
@ -70,11 +70,6 @@ class S3Test extends ObjectStoreTest {
}
public function testUploadNonSeekable() {
$config = \OC::$server->getConfig()->getSystemValue('objectstore');
if (!is_array($config) || $config['class'] !== 'OC\\Files\\ObjectStore\\S3') {
$this->markTestSkipped('objectstore not configured for s3');
}
$s3 = $this->getInstance();
$s3->writeObject('multiparttest', NonSeekableStream::wrap(fopen(__FILE__, 'r')));

View file

@ -25,10 +25,10 @@ if (getenv('OBJECT_STORE') === 's3') {
'arguments' => [
'bucket' => 'nextcloud',
'autocreate' => true,
'key' => 'dummy',
'secret' => 'dummy',
'hostname' => getenv('DRONE') === 'true' ? 'fake-s3' : 'localhost',
'port' => 4569,
'key' => 'nextcloud',
'secret' => 'nextcloud',
'hostname' => getenv('DRONE') === 'true' ? 'minio' : 'localhost',
'port' => 9000,
'use_ssl' => false,
// required for some non amazon s3 implementations
'use_path_style' => true