Skip to content

Commit

Permalink
fix(tests): check cluster-admin route
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidePrincipi committed Feb 19, 2025
1 parent 5af655f commit b7747fb
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 45 deletions.
105 changes: 62 additions & 43 deletions tests/10_traefik_routes_api.robot
Original file line number Diff line number Diff line change
Expand Up @@ -70,55 +70,74 @@ Get routes list
Should Contain ${response} module1
Should Contain ${response} module2
Should Contain ${response} module3
Should Contain ${response} cluster-admin

Get expanded routes list
${response} = Run task module/traefik1/list-routes {"expand_list": true}
Should Be Equal As Strings ${response[0]['instance']} module1
Should Be Equal As Strings ${response[0]['path']} /foo
Should Be Equal As Strings ${response[0]['url']} http://127.0.0.0:2000
Should Be Equal As Strings ${response[0]['lets_encrypt']} False
Should Be Equal As Strings ${response[0]['http2https']} True
Should Be Equal As Strings ${response[0]['skip_cert_verify']} True
Should Be Equal As Strings ${response[0]['strip_prefix']} False
Should Be Equal As Strings ${response[0]['user_created']} False
Should Be Equal As Strings ${response[0]['headers']['request']['X-foo-add']} foo
Should Be Equal As Strings ${response[0]['headers']['request']['X-bar-remove']} ${EMPTY}
Should Be Equal As Strings ${response[0]['headers']['response']['X-bar-add']} bar
Should Be Equal As Strings ${response[0]['headers']['response']['X-foo-remove']} ${EMPTY}


Should Be Equal As Strings ${response[1]['instance']} module2
Should Be Equal As Strings ${response[1]['host']} foo.example.org
Should Be Equal As Strings ${response[1]['url']} http://127.0.0.0:2000
Should Be Equal As Strings ${response[1]['lets_encrypt']} True
Should Be Equal As Strings ${response[1]['http2https']} True
Should Be Equal As Strings ${response[1]['skip_cert_verify']} True
Should Be Equal As Strings ${response[1]['user_created']} False
Should Be Equal As Strings ${response[1]['headers']['request']['X-foo-add']} foo
Should Be Equal As Strings ${response[1]['headers']['request']['X-bar-remove']} ${EMPTY}
Should Be Equal As Strings ${response[1]['headers']['response']['X-bar-add']} bar
Should Be Equal As Strings ${response[1]['headers']['response']['X-foo-remove']} ${EMPTY}


Should Be Equal As Strings ${response[2]['instance']} module3
Should Be Equal As Strings ${response[2]['path']} /bar
Should Be Equal As Strings ${response[2]['host']} bar.example.org
Should Be Equal As Strings ${response[2]['url']} http://127.0.0.0:2000
Should Be Equal As Strings ${response[2]['lets_encrypt']} True
Should Be Equal As Strings ${response[2]['http2https']} True
Should Be Equal As Strings ${response[2]['skip_cert_verify']} True
Should Be Equal As Strings ${response[2]['strip_prefix']} False
Should Be Equal As Strings ${response[2]['user_created']} True
Should Be Equal As Strings ${response[2]['headers']['request']['X-foo-add']} foo
Should Be Equal As Strings ${response[2]['headers']['request']['X-bar-remove']} ${EMPTY}
Should Be Equal As Strings ${response[2]['headers']['response']['X-bar-add']} bar
Should Be Equal As Strings ${response[2]['headers']['response']['X-foo-remove']} ${EMPTY}
${routes_length} = Get Length ${response}
FOR ${I} IN RANGE ${routes_length}
IF $response[$I]['instance'] == "cluster-admin"
Should Be Equal As Strings ${response[${I}]['path']} /cluster-admin
Should Be Equal As Strings ${response[${I}]['url']} http://127.0.0.1:9311
Should Be Equal As Strings ${response[${I}]['lets_encrypt']} False
Should Be Equal As Strings ${response[${I}]['http2https']} True
Should Be Equal As Strings ${response[${I}]['skip_cert_verify']} False
Should Be Equal As Strings ${response[${I}]['strip_prefix']} True
Should Be Equal As Strings ${response[${I}]['slash_redirect']} True
Should Be Equal As Integers ${response[${I}]['priority']} 100000
Should Be Equal As Strings ${response[${I}]['user_created']} False
ELSE IF $response[$I]['instance'] == "module1"
Should Be Equal As Strings ${response[${I}]['slash_redirect']} False
Should Be Equal As Integers ${response[${I}]['priority']} 1
Should Be Equal As Strings ${response[${I}]['path']} /foo
Should Be Equal As Strings ${response[${I}]['url']} http://127.0.0.0:2000
Should Be Equal As Strings ${response[${I}]['lets_encrypt']} False
Should Be Equal As Strings ${response[${I}]['http2https']} True
Should Be Equal As Strings ${response[${I}]['skip_cert_verify']} True
Should Be Equal As Strings ${response[${I}]['strip_prefix']} False
Should Be Equal As Strings ${response[${I}]['user_created']} False
Should Be Equal As Strings ${response[${I}]['headers']['request']['X-foo-add']} foo
Should Be Equal As Strings ${response[${I}]['headers']['request']['X-bar-remove']} ${EMPTY}
Should Be Equal As Strings ${response[${I}]['headers']['response']['X-bar-add']} bar
Should Be Equal As Strings ${response[${I}]['headers']['response']['X-foo-remove']} ${EMPTY}
ELSE IF $response[$I]['instance'] == "module2"
Should Be Equal As Strings ${response[${I}]['slash_redirect']} False
Should Be Equal As Integers ${response[${I}]['priority']} 2
Should Be Equal As Strings ${response[${I}]['host']} foo.example.org
Should Be Equal As Strings ${response[${I}]['url']} http://127.0.0.0:2000
Should Be Equal As Strings ${response[${I}]['lets_encrypt']} True
Should Be Equal As Strings ${response[${I}]['http2https']} True
Should Be Equal As Strings ${response[${I}]['skip_cert_verify']} True
Should Be Equal As Strings ${response[${I}]['user_created']} False
Should Be Equal As Strings ${response[${I}]['headers']['request']['X-foo-add']} foo
Should Be Equal As Strings ${response[${I}]['headers']['request']['X-bar-remove']} ${EMPTY}
Should Be Equal As Strings ${response[${I}]['headers']['response']['X-bar-add']} bar
Should Be Equal As Strings ${response[${I}]['headers']['response']['X-foo-remove']} ${EMPTY}
ELSE IF $response[$I]['instance'] == "module3"
Should Be Equal As Strings ${response[${I}]['slash_redirect']} False
Should Be Equal As Integers ${response[${I}]['priority']} 3
Should Be Equal As Strings ${response[${I}]['path']} /bar
Should Be Equal As Strings ${response[${I}]['host']} bar.example.org
Should Be Equal As Strings ${response[${I}]['url']} http://127.0.0.0:2000
Should Be Equal As Strings ${response[${I}]['lets_encrypt']} True
Should Be Equal As Strings ${response[${I}]['http2https']} True
Should Be Equal As Strings ${response[${I}]['skip_cert_verify']} True
Should Be Equal As Strings ${response[${I}]['strip_prefix']} False
Should Be Equal As Strings ${response[${I}]['user_created']} True
Should Be Equal As Strings ${response[${I}]['headers']['request']['X-foo-add']} foo
Should Be Equal As Strings ${response[${I}]['headers']['request']['X-bar-remove']} ${EMPTY}
Should Be Equal As Strings ${response[${I}]['headers']['response']['X-bar-add']} bar
Should Be Equal As Strings ${response[${I}]['headers']['response']['X-foo-remove']} ${EMPTY}
ELSE
Fail Unexpected HTTP route ${response[${I}]['instance']}
END
END

Delete routes
Run task module/traefik1/delete-route {"instance": "module1"}
Run task module/traefik1/delete-route {"instance": "module2"}
Run task module/traefik1/delete-route {"instance": "module3"}

Get Empty routes list
${response} = Run task module/traefik1/list-routes null
Should Be Empty ${response}
Expect initial routes list
${response} = Run task module/traefik1/list-routes null decode_json=${False}
Should Be Equal As Strings ${response} ["cluster-admin"]
3 changes: 2 additions & 1 deletion tests/20_traefik_certificates_api.robot
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ Upload rejected for a self-signed certificate

Upload a custom certificate
# Disable strict certificate verification:
Execute Command runagent -m traefik1 bash -c 'echo UPLOAD_CERTIFICATE_VERIFY_TYPE\=selfsign >> environment'
Execute Command runagent -m traefik1 python3 -c 'import agent ; agent.set_env("UPLOAD_CERTIFICATE_VERIFY_TYPE", "selfsign")'
${response} = Run task module/traefik1/upload-certificate
... {"keyFile": "${key}", "certFile": "${csr}"}
${response} = Run task module/traefik1/get-certificate {"fqdn": "test.example.com"}
Expand All @@ -86,6 +86,7 @@ Upload a custom certificate
Should Be Equal As Integers ${response} 0
${response} = Execute Command command=redis-cli HGET module/traefik1/certificate/test.example.com key | base64 -d return_stdout=False return_rc=True
Should Be Equal As Integers ${response} 0
Execute Command runagent -m traefik1 python3 -c 'import agent ; agent.set_env("UPLOAD_CERTIFICATE_VERIFY_TYPE", "chain")'

Delete custom certificate
Run task module/traefik1/delete-certificate {"fqdn": "test.example.com"}
Expand Down
3 changes: 2 additions & 1 deletion tests/__init__.robot
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@ Save the journal begin timestamp
Set Global Variable ${JOURNAL_SINCE} ${tsnow}

Collect the suite journal
Execute Command journalctl -S @${JOURNAL_SINCE} >journal-dump.log
Execute Command printf "Test suite starts at %s\n" "$(date -d @${JOURNAL_SINCE})" >>journal-dump.log
Execute Command journalctl >>journal-dump.log
SSHLibrary.Get File journal-dump.log ${OUTPUT DIR}/journal-${SUITE NAME}.log

0 comments on commit b7747fb

Please sign in to comment.