From 7d082193d2c55b89210b277cd9a0dc2f4e590bee Mon Sep 17 00:00:00 2001 From: Bharat Viswanadham Date: Mon, 1 Oct 2018 15:04:20 -0700 Subject: [PATCH] HDDS-562. Create acceptance test to test aws cli with the s3 gateway. Contributed by Elek Marton. --- .../dist/src/main/smoketest/s3/awscli.robot | 63 +++++++++++++++++++ hadoop-ozone/dist/src/main/smoketest/test.sh | 3 +- 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 hadoop-ozone/dist/src/main/smoketest/s3/awscli.robot diff --git a/hadoop-ozone/dist/src/main/smoketest/s3/awscli.robot b/hadoop-ozone/dist/src/main/smoketest/s3/awscli.robot new file mode 100644 index 0000000000..b26ad91d44 --- /dev/null +++ b/hadoop-ozone/dist/src/main/smoketest/s3/awscli.robot @@ -0,0 +1,63 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +Documentation S3 gateway test with aws cli +Library OperatingSystem +Library String +Resource ../commonlib.robot + +*** Variables *** +${ENDPOINT_URL} http://s3g:9878 + +*** Keywords *** +Execute AWSCli + [Arguments] ${command} + ${output} = Execute aws s3 --endpoint-url ${ENDPOINT_URL}/${VOLUME} ${command} + [return] ${output} + +*** Test Cases *** + +Create volume and bucket for the tests + ${postfix} = Generate Random String 5 [NUMBERS] + Set Suite Variable ${BUCKET} bucket-${postfix} + Set Suite Variable ${VOLUME} vol-${postfix} + Log Testing s3 commands in /${VOLUME}/${BUCKET} + ${result} = Execute ozone sh volume create /${VOLUME} --user hadoop + ${result} = Execute ozone sh bucket create /${VOLUME}/${BUCKET} + +Install aws s3 cli + Execute sudo apt-get install -y awscli + Set Environment Variable AWS_ACCESS_KEY_ID ANYID + Set Environment Variable AWS_SECRET_ACCESS_KEY ANYKEY + +File upload and directory list + Execute date > /tmp/testfile + ${result} = Execute AWSCli cp /tmp/testfile s3://${BUCKET} + Should contain ${result} upload + ${result} = Execute AWSCli cp /tmp/testfile s3://${BUCKET}/dir1/dir2/file + Should contain ${result} upload + ${result} = Execute AWSCli ls s3://${BUCKET} + Should contain ${result} testfile + Should contain ${result} dir1 + Should not contain ${result} dir2 + ${result} = Execute AWSCli ls s3://${BUCKET}/dir1/ + Should not contain ${result} testfile + Should not contain ${result} dir1 + Should contain ${result} dir2 + ${result} = Execute AWSCli ls s3://${BUCKET}/dir1/dir2/ + Should not contain ${result} testfile + Should not contain ${result} dir1 + Should contain ${result} file diff --git a/hadoop-ozone/dist/src/main/smoketest/test.sh b/hadoop-ozone/dist/src/main/smoketest/test.sh index 534bbb701f..b32955a2a5 100755 --- a/hadoop-ozone/dist/src/main/smoketest/test.sh +++ b/hadoop-ozone/dist/src/main/smoketest/test.sh @@ -95,7 +95,8 @@ if [ "$RUN_ALL" = true ]; then execute_tests ozone "${DEFAULT_TESTS[@]}" TESTS=("ozonefs") execute_tests ozonefs "${TESTS[@]}" - + TESTS=("s3") + execute_tests ozones3 "${TESTS[@]}" else execute_tests "$DOCKERENV" "${POSITIONAL[@]}" fi