list Invitation
This commit is contained in:
@@ -14,28 +14,7 @@ Feature: accepting invitation
|
||||
|
||||
Scenario: user accepts invitation
|
||||
Given using server "LOCAL"
|
||||
When "Alice" creates the federation share invitation
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"expiration",
|
||||
"token"
|
||||
],
|
||||
"properties": {
|
||||
"expiration": {
|
||||
"type": "integer",
|
||||
"pattern": "^[0-9]{10}$"
|
||||
},
|
||||
"token": {
|
||||
"type": "string",
|
||||
"pattern": "^%fed_invitation_token_pattern%$"
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
And "Alice" has created the federation share invitation
|
||||
When using server "REMOTE"
|
||||
And "Brian" accepts the last federation share invitation
|
||||
Then the HTTP status code should be "200"
|
||||
@@ -43,28 +22,7 @@ Feature: accepting invitation
|
||||
|
||||
Scenario: user accepts invitation sent with email and description
|
||||
Given using server "LOCAL"
|
||||
When "Alice" creates the federation share invitation with email "alice@example.com" and description "a share invitation from Alice"
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"expiration",
|
||||
"token"
|
||||
],
|
||||
"properties": {
|
||||
"expiration": {
|
||||
"type": "integer",
|
||||
"pattern": "^[0-9]{10}$"
|
||||
},
|
||||
"token": {
|
||||
"type": "string",
|
||||
"pattern": "^%fed_invitation_token_pattern%$"
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
And "Alice" has created the federation share invitation with email "brian@example.com" and description "a share invitation from Alice"
|
||||
When using server "REMOTE"
|
||||
And "Brian" accepts the last federation share invitation
|
||||
Then the HTTP status code should be "200"
|
||||
@@ -135,3 +93,56 @@ Feature: accepting invitation
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
@env-config
|
||||
Scenario: user cannot accept expired invitation tokens
|
||||
Given using server "LOCAL"
|
||||
And the config "OCM_OCM_INVITE_MANAGER_TOKEN_EXPIRATION" has been set to "1s"
|
||||
And "Alice" has created the federation share invitation
|
||||
When using server "REMOTE"
|
||||
And the user waits "2" seconds for the token to expire
|
||||
And "Brian" tries to accept the last federation share invitation
|
||||
Then the HTTP status code should be "400"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"code",
|
||||
"message"
|
||||
],
|
||||
"properties": {
|
||||
"code": {
|
||||
"const": "INVALID_PARAMETER"
|
||||
},
|
||||
"message": {
|
||||
"const": "token has expired"
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
|
||||
Scenario: user cannot accept invalid invitation token
|
||||
Given using server "LOCAL"
|
||||
And "Alice" tries to accept the invitation with invalid token
|
||||
Then the HTTP status code should be "404"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"code",
|
||||
"message"
|
||||
],
|
||||
"properties": {
|
||||
"code": {
|
||||
"const": "RESOURCE_NOT_FOUND"
|
||||
},
|
||||
"message": {
|
||||
"const": "token not found"
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
|
||||
+168
@@ -0,0 +1,168 @@
|
||||
@ocm
|
||||
Feature: create invitation
|
||||
As a user
|
||||
I can create an invitations and send it to the person I want to share with
|
||||
|
||||
Background:
|
||||
Given user "Alice" has been created with default attributes and without skeleton files
|
||||
|
||||
|
||||
Scenario: user creates invitation
|
||||
Given using server "LOCAL"
|
||||
When "Alice" creates the federation share invitation
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"expiration",
|
||||
"token"
|
||||
],
|
||||
"properties": {
|
||||
"expiration": {
|
||||
"type": "integer",
|
||||
"pattern": "^[0-9]{10}$"
|
||||
},
|
||||
"token": {
|
||||
"type": "string",
|
||||
"pattern": "^%fed_invitation_token_pattern%$"
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
When "Alice" lists the created invitations
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"maxItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"expiration",
|
||||
"token"
|
||||
],
|
||||
"properties": {
|
||||
"expiration": {
|
||||
"type": "integer",
|
||||
"pattern": "^[0-9]{10}$"
|
||||
},
|
||||
"token": {
|
||||
"type": "string",
|
||||
"pattern": "^%fed_invitation_token_pattern%$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
@issue-9591
|
||||
Scenario: user creates invitation with email and description
|
||||
Given using server "LOCAL"
|
||||
When "Alice" creates the federation share invitation with email "brian@example.com" and description "a share invitation from Alice"
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"expiration",
|
||||
"token",
|
||||
"description",
|
||||
"recipient"
|
||||
],
|
||||
"properties": {
|
||||
"expiration": {
|
||||
"type": "integer",
|
||||
"pattern": "^[0-9]{10}$"
|
||||
},
|
||||
"token": {
|
||||
"type": "string",
|
||||
"pattern": "^%fed_invitation_token_pattern%$"
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"const": "a share invitation from Alice"
|
||||
},
|
||||
"recipient": {
|
||||
"type": "string",
|
||||
"const": "brian@example.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
And the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"maxItems": 1,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"expiration",
|
||||
"token"
|
||||
],
|
||||
"properties": {
|
||||
"expiration": {
|
||||
"type": "integer",
|
||||
"pattern": "^[0-9]{10}$"
|
||||
},
|
||||
"token": {
|
||||
"type": "string",
|
||||
"pattern": "^%fed_invitation_token_pattern%$"
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"const": "a share invitation from Alice"
|
||||
},
|
||||
"recipient": {
|
||||
"type": "string",
|
||||
"const": "brian@example.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
@env-config
|
||||
Scenario: user cannot see expired invitation tokens
|
||||
Given using server "LOCAL"
|
||||
And the config "OCM_OCM_INVITE_MANAGER_TOKEN_EXPIRATION" has been set to "1s"
|
||||
When "Alice" creates the federation share invitation
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"expiration",
|
||||
"token"
|
||||
],
|
||||
"properties": {
|
||||
"expiration": {
|
||||
"type": "integer",
|
||||
"pattern": "^[0-9]{10}$"
|
||||
},
|
||||
"token": {
|
||||
"type": "string",
|
||||
"pattern": "^%fed_invitation_token_pattern%$"
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
And the user waits "2" seconds for the token to expire
|
||||
When "Alice" lists the created invitations
|
||||
Then the HTTP status code should be "200"
|
||||
And the JSON data of the response should match
|
||||
"""
|
||||
{
|
||||
"type": "array",
|
||||
"minItems": 0,
|
||||
"maxItems": 0
|
||||
}
|
||||
"""
|
||||
@@ -8,7 +8,7 @@ Feature: an user shares resources usin ScienceMesh application
|
||||
And using server "REMOTE"
|
||||
And user "Brian" has been created with default attributes and without skeleton files
|
||||
|
||||
|
||||
@issue-9534
|
||||
Scenario: users shares folder to federation users after receiver accepted invitation
|
||||
Given using server "LOCAL"
|
||||
And "Alice" has created the federation share invitation
|
||||
@@ -87,7 +87,7 @@ Feature: an user shares resources usin ScienceMesh application
|
||||
}
|
||||
"""
|
||||
|
||||
|
||||
@issue-9534
|
||||
Scenario: users shares folder to federation users after accepting invitation
|
||||
Given using server "LOCAL"
|
||||
And "Alice" has created the federation share invitation
|
||||
|
||||
Reference in New Issue
Block a user