Skip to content

Commit 21c6488

Browse files
- Added robot test Oauth2 CLient Credentials Auth Should Succeed with Valid Config.
- Added robot test `Oauth2 CLient Credentials Auth Should Fail with Invalid Config`.
1 parent 52dc5d9 commit 21c6488

File tree

2 files changed

+24
-9
lines changed

2 files changed

+24
-9
lines changed

test/robot/functional/stackql_mocked_from_cmd_line.robot

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4205,26 +4205,23 @@ Oauth2 CLient Credentials Auth Should Succeed with Valid Config
42054205
... stdout=${CURDIR}/tmp/Oauth2-CLient-Credentials-Auth-Should-Succeed-with-Valid-Config.tmp
42064206
... stderr=${CURDIR}/tmp/Oauth2-CLient-Credentials-Auth-Should-Succeed-with-Valid-Config-stderr.tmp
42074207

4208-
Oauth2 CLient Credentials Auth Should Fail with Invalid CorsConfiguration
4208+
Oauth2 CLient Credentials Auth Should Fail with Invalid Config
42094209
Set Environment Variable YOUR_OAUTH2_CLIENT_ID_ENV_VAR dummy-client-id
42104210
Set Environment Variable YOUR_OAUTH2_CLIENT_SECRET_ENV_VAR dummy-client-secret
4211-
${outputStr} = Catenate SEPARATOR=\n
4212-
... |-----------|---------|
4213-
... |${SPACE}${SPACE}${SPACE}${SPACE}id${SPACE}${SPACE}${SPACE}${SPACE}${SPACE}|${SPACE}${SPACE}name${SPACE}${SPACE}${SPACE}|
4214-
... |-----------|---------|
4215-
... |${SPACE}100000001${SPACE}|${SPACE}Netlify${SPACE}|
4216-
... |-----------|---------|
4211+
${outputErrStr} = Catenate SEPARATOR=\n
4212+
... Get "https://${LOCAL_HOST_ALIAS}:1170/v1/collectors/100000001?": oauth2: cannot fetch token: 401 UNAUTHORIZED
4213+
... Response: {"msg": "auth failed"}
42174214
Should Stackql Exec Inline Equal Both Streams
42184215
... ${STACKQL_EXE}
42194216
... ${OKTA_SECRET_STR}
42204217
... ${GITHUB_SECRET_STR}
42214218
... ${K8S_SECRET_STR}
42224219
... ${REGISTRY_NO_VERIFY_CFG_STR}
4223-
... ${AUTH_CFG_STR}
4220+
... ${AUTH_CFG_DEFECTIVE_STR}
42244221
... ${SQL_BACKEND_CFG_STR_CANONICAL}
42254222
... select id, name from stackql_oauth2_testing.collectors.collectors where id \= '100000001';
4226-
... ${outputStr}
42274223
... ${EMPTY}
4224+
... ${outputErrStr}
42284225
... stdout=${CURDIR}/tmp/Oauth2-CLient-Credentials-Auth-Should-Fail-with-Invalid-Config.tmp
42294226
... stderr=${CURDIR}/tmp/Oauth2-CLient-Credentials-Auth-Should-Fail-with-Invalid-Config-stderr.tmp
42304227

test/robot/lib/stackql_context.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,14 @@ def get_registry_mocked(execution_env :str) -> RegistryCfg:
231231

232232
_AUTH_CFG_DEFECTIVE= copy.deepcopy(_AUTH_CFG)
233233
_AUTH_CFG_DEFECTIVE["google"]["credentialsfilepath"] = _NON_EXISTENT_AUTH_GOOGLE_SA_KEY_PATH
234+
_AUTH_CFG_DEFECTIVE["stackql_oauth2_testing"] = {
235+
"type": "oauth2",
236+
"grant_type": "client_credentials",
237+
"client_id": "dummy_client_id",
238+
"client_secret": "dummy_client_secret",
239+
"token_url": "http://localhost:2091/contrived/simple/error/token",
240+
"scopes": ["scope1", "scope2"]
241+
}
234242

235243
_AUTH_PLUS_EXTERNAL_POSTGRES = copy.deepcopy(_AUTH_CFG)
236244

@@ -286,6 +294,14 @@ def get_registry_mocked(execution_env :str) -> RegistryCfg:
286294

287295
_AUTH_CFG_DEFECTIVE_DOCKER= copy.deepcopy(_AUTH_CFG_DOCKER)
288296
_AUTH_CFG_DEFECTIVE_DOCKER["google"]["credentialsfilepath"] = _NON_EXISTENT_AUTH_GOOGLE_SA_KEY_PATH_DOCKER
297+
_AUTH_CFG_DEFECTIVE_DOCKER["stackql_oauth2_testing"] = {
298+
"type": "oauth2",
299+
"grant_type": "client_credentials",
300+
"client_id": "dummy_client_id",
301+
"client_secret": "dummy_client_secret",
302+
"token_url": "http://host.docker.internal:2091/contrived/simple/error/token",
303+
"scopes": ["scope1", "scope2"]
304+
}
289305

290306
_AUTH_PLUS_EXTERNAL_POSTGRES_DOCKER = copy.deepcopy(_AUTH_CFG_DOCKER)
291307

@@ -1103,6 +1119,7 @@ def get_variables(execution_env :str, sql_backend_str :str, use_stackql_preinsta
11031119
if execution_env == 'docker':
11041120
rv['AUTH_CFG_STR'] = AUTH_CFG_STR_DOCKER
11051121
rv['AUTH_CFG_DEFECTIVE_STR'] = AUTH_CFG_DEFECTIVE_STR_DOCKER
1122+
rv['LOCAL_HOST_ALIAS'] = 'host.docker.internal'
11061123
rv['AUTH_GOOGLE_SA_KEY_PATH'] = _AUTH_GOOGLE_SA_KEY_PATH_DOCKER
11071124
rv['NON_EXISTENT_AUTH_GOOGLE_SA_KEY_PATH'] = _NON_EXISTENT_AUTH_GOOGLE_SA_KEY_PATH_DOCKER
11081125
rv['AUTH_PLUS_EXTERNAL_POSTGRES'] = AUTH_PLUS_EXTERNAL_POSTGRES_DOCKER
@@ -1144,6 +1161,7 @@ def get_variables(execution_env :str, sql_backend_str :str, use_stackql_preinsta
11441161
else:
11451162
rv['AUTH_CFG_STR'] = AUTH_CFG_STR
11461163
rv['AUTH_CFG_DEFECTIVE_STR'] = AUTH_CFG_DEFECTIVE_STR
1164+
rv['LOCAL_HOST_ALIAS'] = 'localhost'
11471165
rv['AUTH_GOOGLE_SA_KEY_PATH'] = _AUTH_GOOGLE_SA_KEY_PATH
11481166
rv['NON_EXISTENT_AUTH_GOOGLE_SA_KEY_PATH'] = _NON_EXISTENT_AUTH_GOOGLE_SA_KEY_PATH
11491167
rv['AUTH_PLUS_EXTERNAL_POSTGRES'] = AUTH_PLUS_EXTERNAL_POSTGRES

0 commit comments

Comments
 (0)