From 32efae24d66980e69df951d4783991837a50cf1a Mon Sep 17 00:00:00 2001 From: Boshi Lian Date: Tue, 15 Jan 2019 14:02:31 +0000 Subject: [PATCH] fix e2e not run --- .azure-pipelines.yml | 2 +- sshpiperd/e2e/docker-compose.yml | 11 +++++++---- sshpiperd/e2e/piper.sh | 8 ++++++++ sshpiperd/e2e/test.sh | 18 +++++------------- 4 files changed, 21 insertions(+), 18 deletions(-) create mode 100644 sshpiperd/e2e/piper.sh diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml index 540de2b7..dd698e93 100644 --- a/.azure-pipelines.yml +++ b/.azure-pipelines.yml @@ -68,7 +68,7 @@ steps: - task: DockerCompose@0 inputs: dockerComposeFile: '$(modulePath)/sshpiperd/e2e/docker-compose.yml' - dockerComposeCommand: 'up --build --abort-on-container-exit --exit-code-from piper' + dockerComposeCommand: 'up --build --abort-on-container-exit --exit-code-from client' currentWorkingDirectory: '$(modulePath)' displayName: E2E diff --git a/sshpiperd/e2e/docker-compose.yml b/sshpiperd/e2e/docker-compose.yml index 1de25cca..9768b31a 100644 --- a/sshpiperd/e2e/docker-compose.yml +++ b/sshpiperd/e2e/docker-compose.yml @@ -16,16 +16,19 @@ services: - "/test.sh" piper: environment: - - "SSHPIPERD_WORKINGDIR_NOCHECKPERM=true" + - "SSHPIPERD_UPSTREAM_WORKINGDIR_NOCHECKPERM=true" - "SSHPIPERD_AUDITOR=typescript-logger" - - "SSHPIPERD_CHALLENGER=welcometext" - - "SSHPIPERD_CHALLENGER_WELCOMETEXT=hellopiper" + - "SSHPIPERD_BANNERTEXT=hellopiper" build: ../.. links: - "host1:host1" - "host2:host2" volumes: - workingdir:/var/sshpiper + - ./piper.sh:/piper.sh + command: + - "/bin/sh" + - "/piper.sh" host1: image: rastasheep/ubuntu-sshd volumes: @@ -37,7 +40,7 @@ services: - names:/names volumes: - workingdir: + workingdir: localkey: host1ssh: names: diff --git a/sshpiperd/e2e/piper.sh b/sshpiperd/e2e/piper.sh new file mode 100644 index 00000000..f7b688b8 --- /dev/null +++ b/sshpiperd/e2e/piper.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +/sshpiperd pipe add -n host1 -u host1 --upstream-username root +/sshpiperd pipe add -n host2 -u host2 --upstream-username root +/sshpiperd pipe list + + +/sshpiperd daemon diff --git a/sshpiperd/e2e/test.sh b/sshpiperd/e2e/test.sh index 79b620c0..ee91eeb8 100644 --- a/sshpiperd/e2e/test.sh +++ b/sshpiperd/e2e/test.sh @@ -1,24 +1,16 @@ #!/bin/bash +# TODO to python + mkdir -p /local mkdir -p /workingdir/host{1,2} ssh-keygen -N '' -f /local/id_rsa -ssh-keygen -N '' -f /workingdir/host1/id_rsa +ssh-keygen -N '' -f /workingdir/host1/id_rsa #TODO pipe cmd /bin/cp /local/id_rsa.pub /workingdir/host1/authorized_keys /bin/cp /workingdir/host1/id_rsa.pub /host1/authorized_keys -chmod 600 /workingdir/host1/authorized_keys -chmod 600 /host1/authorized_keys - -echo "root@host1" > /workingdir/host1/sshpiper_upstream -chmod 600 /workingdir/host1/sshpiper_upstream - -echo "root@host2" > /workingdir/host2/sshpiper_upstream -chmod 600 /workingdir/host2/sshpiper_upstream - - fail="\033[0;31mFAIL\033[0m" succ="\033[0;32mSUCC\033[0m" @@ -33,6 +25,7 @@ runtest(){ if [ "$t" != "$rnd" ];then echo -e $casename $fail + exit 1 else echo -e $casename $succ fi @@ -41,6 +34,7 @@ runtest(){ if [ $? -ne 0 ];then echo -e "grep typescript logger" $fail + exit 1 fi grep "hellopiper" /tmp/$host.stderr @@ -51,8 +45,6 @@ runtest(){ fi } - - runtest "host1 with public key:" "host1" "ssh host1@piper -p 2222 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /local/id_rsa cat /names/host1" runtest "host2 with password:" "host2" "sshpass -p root ssh host2@piper -p 2222 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null cat /names/host2"