Initial QSfera import
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
Feature: create auth-app token
|
||||
As a user
|
||||
I want to create auth-app Tokens
|
||||
So that I can use 3rd party apps
|
||||
|
||||
Background:
|
||||
Given user "Alice" has been created with default attributes
|
||||
|
||||
|
||||
Scenario: user creates auth-app token
|
||||
When user "Alice" creates app token with expiration time "72h" using the auth-app API
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"token",
|
||||
"expiration_date",
|
||||
"created_date",
|
||||
"label"
|
||||
],
|
||||
"properties": {
|
||||
"token": {
|
||||
"pattern": "^([a-zA-Z]+ ){5}[a-zA-Z]+$"
|
||||
},
|
||||
"label": {
|
||||
"const": "Generated via API"
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
@env-config
|
||||
Scenario: user lists auth-app tokens generated by different auth-app api
|
||||
Given the config "AUTH_APP_ENABLE_IMPERSONATION" has been set to "true"
|
||||
And user "Alice" has created app token with expiration time "72h" using the auth-app API
|
||||
And the administrator has created app token for user "Alice" with expiration time "72h" using the auth-app API
|
||||
And user "Alice" has created app token with expiration time "72h" using the auth-app CLI
|
||||
When user "Alice" lists all created tokens using the auth-app API
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "array",
|
||||
"minItems": 3,
|
||||
"maxItems": 3,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"token",
|
||||
"expiration_date",
|
||||
"created_date",
|
||||
"label"
|
||||
],
|
||||
"properties": {
|
||||
"token": {
|
||||
"pattern": "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$"
|
||||
},
|
||||
"label": {
|
||||
"const": "Generated via API"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"token",
|
||||
"expiration_date",
|
||||
"created_date",
|
||||
"label"
|
||||
],
|
||||
"properties": {
|
||||
"token": {
|
||||
"pattern": "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$"
|
||||
},
|
||||
"label": {
|
||||
"const": "Generated via CLI"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"token",
|
||||
"expiration_date",
|
||||
"created_date",
|
||||
"label"
|
||||
],
|
||||
"properties": {
|
||||
"token": {
|
||||
"pattern": "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$"
|
||||
},
|
||||
"label": {
|
||||
"const": "Generated via API (Impersonation)"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
@env-config
|
||||
Scenario: admin creates auth-app token for other user
|
||||
Given the config "AUTH_APP_ENABLE_IMPERSONATION" has been set to "true"
|
||||
When the administrator creates app token for user "Alice" with expiration time "72h" using the auth-app API
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"token",
|
||||
"expiration_date",
|
||||
"created_date",
|
||||
"label"
|
||||
],
|
||||
"properties": {
|
||||
"token": {
|
||||
"pattern": "^([a-zA-Z]+ ){5}[a-zA-Z]+$"
|
||||
},
|
||||
"label": {
|
||||
"const": "Generated via API (Impersonation)"
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
Reference in New Issue
Block a user