Skip to content

Commit

Permalink
Merge pull request apache#27 from hrsakai/end-to-end-exec
Browse files Browse the repository at this point in the history
Add scripts for tests in docker container
  • Loading branch information
nkurihar authored Apr 23, 2019
2 parents f220013 + ed17fee commit b6ce761
Show file tree
Hide file tree
Showing 6 changed files with 414 additions and 0 deletions.
37 changes: 37 additions & 0 deletions docker-tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/bash
#
# 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.
#

ROOT_DIR=$(git rev-parse --show-toplevel)
cd $ROOT_DIR

BUILD_IMAGE_NAME="${BUILD_IMAGE_NAME:-apachepulsar/pulsar-build}"
BUILD_IMAGE_VERSION="${BUILD_IMAGE_VERSION:-ubuntu-16.04}"

IMAGE="$BUILD_IMAGE_NAME:$BUILD_IMAGE_VERSION"

echo "---- Testing Pulsar node client using image $IMAGE"

docker pull $IMAGE

DOCKER_CMD="docker run -i -v $ROOT_DIR:/pulsar-client-node $IMAGE"

# Start Pulsar standalone instance
# and execute the tests
$DOCKER_CMD bash -c "cd /pulsar-client-node && ./run-unit-tests.sh"
45 changes: 45 additions & 0 deletions pulsar-test-service-start.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/bin/bash
#
# 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.
#

set -e

ROOT_DIR=$(git rev-parse --show-toplevel)
cd $ROOT_DIR

VERSION="${VERSION:-`cat ./pulsar-version.txt`}"
PULSAR_DIR="${PULSAR_DIR:-/tmp/pulsar-test-dist}"
PKG=apache-pulsar-${VERSION}-bin.tar.gz

rm -rf $PULSAR_DIR
curl -L --create-dir "https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-${VERSION}/${PKG}" -o $PULSAR_DIR/$PKG
tar xfz $PULSAR_DIR/$PKG -C $PULSAR_DIR --strip-components 1

DATA_DIR=/tmp/pulsar-test-data
rm -rf $DATA_DIR
mkdir -p $DATA_DIR

export PULSAR_STANDALONE_CONF=$ROOT_DIR/tests/conf/standalone.conf
$PULSAR_DIR/bin/pulsar-daemon start standalone \
--no-functions-worker --no-stream-storage \
--zookeeper-dir $DATA_DIR/zookeeper \
--bookkeeper-dir $DATA_DIR/bookkeeper

echo "-- Wait for Pulsar service to be ready"
until curl http://localhost:8080/metrics > /dev/null 2>&1 ; do sleep 1; done
26 changes: 26 additions & 0 deletions pulsar-test-service-stop.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/bin/bash
#
# 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.
#

set -e

PULSAR_DIR="${PULSAR_DIR:-/tmp/pulsar-test-dist}"
cd $PULSAR_DIR

bin/pulsar-daemon stop standalone
1 change: 1 addition & 0 deletions pulsar-version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2.3.1
40 changes: 40 additions & 0 deletions run-unit-tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#!/bin/bash
#
# 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.
#

set -e

ROOT_DIR=$(git rev-parse --show-toplevel)
cd $ROOT_DIR

# install pulsar cpp client pkg
VERSION="${VERSION:-`cat ./pulsar-version.txt`}"
PULSAR_PKG_DIR="/tmp/pulsar-test-pkg"
rm -rf $PULSAR_PKG_DIR
for pkg in apache-pulsar-client-dev.deb apache-pulsar-client.deb;do
curl -L --create-dir "https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-${VERSION}/DEB/${pkg}" -o $PULSAR_PKG_DIR/$pkg
done;
apt install $PULSAR_PKG_DIR/apache-pulsar-client*.deb

./pulsar-test-service-start.sh
npm install && npm run build && npm run test
RES=$?
./pulsar-test-service-stop.sh

exit $RES
Loading

0 comments on commit b6ce761

Please sign in to comment.