mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 14:20:46 +02:00
Merge branch 'finish-tests' into 'master'
WIP: Finish tests See merge request spaceti-app/integrations/acs/colnod-connector!3
This commit is contained in:
commit
f301c74b2a
@ -1,240 +1,240 @@
|
|||||||
_type: export
|
_type: export
|
||||||
__export_format: 4
|
__export_format: 4
|
||||||
__export_date: 2019-10-01T14:13:03.279Z
|
__export_date: 2019-10-01T14:13:03.279Z
|
||||||
__export_source: insomnia.desktop.app:v6.6.2
|
__export_source: insomnia.desktop.app:v6.6.2
|
||||||
resources:
|
resources:
|
||||||
- _id: req_f0797b6411b144f0bf0a40d9300ee92f
|
- _id: req_f0797b6411b144f0bf0a40d9300ee92f
|
||||||
authentication:
|
authentication:
|
||||||
disabled: false
|
disabled: false
|
||||||
password: E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0
|
password: E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0
|
||||||
type: basic
|
type: basic
|
||||||
username: spaceti
|
username: spaceti
|
||||||
body:
|
body:
|
||||||
mimeType: application/json
|
mimeType: application/json
|
||||||
text: >-
|
text: >-
|
||||||
{
|
{
|
||||||
"username": "spaceti",
|
"username": "spaceti",
|
||||||
"password": "E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0"
|
"password": "E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0"
|
||||||
}
|
}
|
||||||
created: 1569905755136
|
created: 1569905755136
|
||||||
description: ""
|
description: ""
|
||||||
headers:
|
headers:
|
||||||
- id: pair_061d15d1294e412caca8300559541695
|
- id: pair_061d15d1294e412caca8300559541695
|
||||||
name: content-type
|
name: content-type
|
||||||
value: application/json
|
value: application/json
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: -1569905755136
|
metaSortKey: -1569905755136
|
||||||
method: POST
|
method: POST
|
||||||
modified: 1569934518963
|
modified: 1569934518963
|
||||||
name: Login user
|
name: Login user
|
||||||
parameters: []
|
parameters: []
|
||||||
parentId: fld_9ef1d96e0e6d40ef9094250114269496
|
parentId: fld_9ef1d96e0e6d40ef9094250114269496
|
||||||
settingDisableRenderRequestBody: false
|
settingDisableRenderRequestBody: false
|
||||||
settingEncodeUrl: true
|
settingEncodeUrl: true
|
||||||
settingRebuildPath: true
|
settingRebuildPath: true
|
||||||
settingSendCookies: true
|
settingSendCookies: true
|
||||||
settingStoreCookies: true
|
settingStoreCookies: true
|
||||||
url: "{{ base_url }}/AaaManager/authSession"
|
url: "{{ base_url }}/AaaManager/authSession"
|
||||||
_type: request
|
_type: request
|
||||||
- _id: fld_9ef1d96e0e6d40ef9094250114269496
|
- _id: fld_9ef1d96e0e6d40ef9094250114269496
|
||||||
created: 1569905755142
|
created: 1569905755142
|
||||||
description: Login information ( token )
|
description: Login information ( token )
|
||||||
environment: {}
|
environment: {}
|
||||||
environmentPropertyOrder: null
|
environmentPropertyOrder: null
|
||||||
metaSortKey: -1569905755142
|
metaSortKey: -1569905755142
|
||||||
modified: 1569905755142
|
modified: 1569905755142
|
||||||
name: login
|
name: login
|
||||||
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
_type: request_group
|
_type: request_group
|
||||||
- _id: wrk_43652e59afaf4825a8bbbf31e346f616
|
- _id: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
created: 1569905755149
|
created: 1569905755149
|
||||||
description: "Colnod system: [Product information](http://produkty.colsys.cz/colnod)
|
description: "Colnod system: [Product information](http://produkty.colsys.cz/colnod)
|
||||||
Jira issues: [Communicaiton with
|
Jira issues: [Communicaiton with
|
||||||
Colnod](https://spaceti.atlassian.net/secure/RapidBoard.jspa?rapidView=78\
|
Colnod](https://spaceti.atlassian.net/secure/RapidBoard.jspa?rapidView=78\
|
||||||
&projectKey=INT&modal=detail&selectedIssue=INT-3563)"
|
&projectKey=INT&modal=detail&selectedIssue=INT-3563)"
|
||||||
modified: 1569905755149
|
modified: 1569905755149
|
||||||
name: Colnod server 1.0.0
|
name: Colnod server 1.0.0
|
||||||
parentId: null
|
parentId: null
|
||||||
_type: workspace
|
_type: workspace
|
||||||
- _id: req_00f9f99d933c4638900385ffbbd4f8f7
|
- _id: req_00f9f99d933c4638900385ffbbd4f8f7
|
||||||
authentication:
|
authentication:
|
||||||
disabled: false
|
disabled: false
|
||||||
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
||||||
'b64::JC5pZA==::46b', 'never' %}"
|
'b64::JC5pZA==::46b', 'never' %}"
|
||||||
type: bearer
|
type: bearer
|
||||||
body:
|
body:
|
||||||
mimeType: application/json
|
mimeType: application/json
|
||||||
text: ""
|
text: ""
|
||||||
created: 1569905755134
|
created: 1569905755134
|
||||||
description: ""
|
description: ""
|
||||||
headers:
|
headers:
|
||||||
- id: pair_a2a3c43a20f64efbb8a4752c7e983c8e
|
- id: pair_a2a3c43a20f64efbb8a4752c7e983c8e
|
||||||
name: Content-Type
|
name: Content-Type
|
||||||
value: application/json
|
value: application/json
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: -1569905755134
|
metaSortKey: -1569905755134
|
||||||
method: POST
|
method: POST
|
||||||
modified: 1569937805044
|
modified: 1569937805044
|
||||||
name: Get subjects
|
name: Get subjects
|
||||||
parameters: []
|
parameters: []
|
||||||
parentId: fld_2fb4c2cef1f44cff83d6b00fe0886384
|
parentId: fld_2fb4c2cef1f44cff83d6b00fe0886384
|
||||||
settingDisableRenderRequestBody: false
|
settingDisableRenderRequestBody: false
|
||||||
settingEncodeUrl: true
|
settingEncodeUrl: true
|
||||||
settingRebuildPath: true
|
settingRebuildPath: true
|
||||||
settingSendCookies: true
|
settingSendCookies: true
|
||||||
settingStoreCookies: true
|
settingStoreCookies: true
|
||||||
url: "{{ base_url }}/SubjectManager/getSubjects"
|
url: "{{ base_url }}/SubjectManager/getSubjects"
|
||||||
_type: request
|
_type: request
|
||||||
- _id: fld_2fb4c2cef1f44cff83d6b00fe0886384
|
- _id: fld_2fb4c2cef1f44cff83d6b00fe0886384
|
||||||
created: 1569905755140
|
created: 1569905755140
|
||||||
description: Operations about user
|
description: Operations about user
|
||||||
environment: {}
|
environment: {}
|
||||||
environmentPropertyOrder: null
|
environmentPropertyOrder: null
|
||||||
metaSortKey: -1569905755140
|
metaSortKey: -1569905755140
|
||||||
modified: 1569905755140
|
modified: 1569905755140
|
||||||
name: user
|
name: user
|
||||||
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
_type: request_group
|
_type: request_group
|
||||||
- _id: req_9e42a5023f9d4235a5de099cd7573d2b
|
- _id: req_9e42a5023f9d4235a5de099cd7573d2b
|
||||||
authentication:
|
authentication:
|
||||||
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
||||||
'b64::JC5pZA==::46b', 'never' %}"
|
'b64::JC5pZA==::46b', 'never' %}"
|
||||||
type: bearer
|
type: bearer
|
||||||
body:
|
body:
|
||||||
mimeType: application/json
|
mimeType: application/json
|
||||||
text: |-
|
text: |-
|
||||||
{
|
{
|
||||||
"id": "1a23c502-1665-4492-94ea-039bb7505cae"
|
"id": "1a23c502-1665-4492-94ea-039bb7505cae"
|
||||||
}
|
}
|
||||||
created: 1569905755131
|
created: 1569905755131
|
||||||
description: ""
|
description: ""
|
||||||
headers:
|
headers:
|
||||||
- disabled: false
|
- disabled: false
|
||||||
id: pair_e888b6c679d74b0988f0dd2d77690383
|
id: pair_e888b6c679d74b0988f0dd2d77690383
|
||||||
name: Content-Type
|
name: Content-Type
|
||||||
value: application/json
|
value: application/json
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: -1569905755131
|
metaSortKey: -1569905755131
|
||||||
method: POST
|
method: POST
|
||||||
modified: 1569939013152
|
modified: 1569939013152
|
||||||
name: Get Tokens
|
name: Get Tokens
|
||||||
parameters: []
|
parameters: []
|
||||||
parentId: fld_36a4be72380440a0ace83ad508a0458d
|
parentId: fld_36a4be72380440a0ace83ad508a0458d
|
||||||
settingDisableRenderRequestBody: false
|
settingDisableRenderRequestBody: false
|
||||||
settingEncodeUrl: true
|
settingEncodeUrl: true
|
||||||
settingRebuildPath: true
|
settingRebuildPath: true
|
||||||
settingSendCookies: true
|
settingSendCookies: true
|
||||||
settingStoreCookies: true
|
settingStoreCookies: true
|
||||||
url: "{{ base_url }}/TokenManager/getTokens/"
|
url: "{{ base_url }}/TokenManager/getTokens/"
|
||||||
_type: request
|
_type: request
|
||||||
- _id: fld_36a4be72380440a0ace83ad508a0458d
|
- _id: fld_36a4be72380440a0ace83ad508a0458d
|
||||||
created: 1569905755138
|
created: 1569905755138
|
||||||
description: Working with tokens ( keys )
|
description: Working with tokens ( keys )
|
||||||
environment: {}
|
environment: {}
|
||||||
environmentPropertyOrder: null
|
environmentPropertyOrder: null
|
||||||
metaSortKey: -1569905755138
|
metaSortKey: -1569905755138
|
||||||
modified: 1569934361048
|
modified: 1569934361048
|
||||||
name: Token Manager
|
name: Token Manager
|
||||||
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
_type: request_group
|
_type: request_group
|
||||||
- _id: req_4f99d61a83c14da29882cc80c07ddf54
|
- _id: req_4f99d61a83c14da29882cc80c07ddf54
|
||||||
authentication:
|
authentication:
|
||||||
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
||||||
'b64::JC5pZA==::46b', 'never' %}"
|
'b64::JC5pZA==::46b', 'never' %}"
|
||||||
type: bearer
|
type: bearer
|
||||||
body: {}
|
body: {}
|
||||||
created: 1569905755127
|
created: 1569905755127
|
||||||
description: ""
|
description: ""
|
||||||
headers: []
|
headers: []
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: -1569905755129
|
metaSortKey: -1569905755129
|
||||||
method: POST
|
method: POST
|
||||||
modified: 1569938955854
|
modified: 1569938955854
|
||||||
name: Set Tokens
|
name: Set Tokens
|
||||||
parameters: []
|
parameters: []
|
||||||
parentId: fld_36a4be72380440a0ace83ad508a0458d
|
parentId: fld_36a4be72380440a0ace83ad508a0458d
|
||||||
settingDisableRenderRequestBody: false
|
settingDisableRenderRequestBody: false
|
||||||
settingEncodeUrl: true
|
settingEncodeUrl: true
|
||||||
settingRebuildPath: true
|
settingRebuildPath: true
|
||||||
settingSendCookies: true
|
settingSendCookies: true
|
||||||
settingStoreCookies: true
|
settingStoreCookies: true
|
||||||
url: /TokenManager/setTokens
|
url: /TokenManager/setTokens
|
||||||
_type: request
|
_type: request
|
||||||
- _id: req_fd2e096f45554b46b31755564a0932bf
|
- _id: req_fd2e096f45554b46b31755564a0932bf
|
||||||
authentication:
|
authentication:
|
||||||
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
||||||
'b64::JC5pZA==::46b', 'never' %}"
|
'b64::JC5pZA==::46b', 'never' %}"
|
||||||
type: bearer
|
type: bearer
|
||||||
body: {}
|
body: {}
|
||||||
created: 1569934364782
|
created: 1569934364782
|
||||||
description: ""
|
description: ""
|
||||||
headers: []
|
headers: []
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: -1569905755130.5
|
metaSortKey: -1569905755130.5
|
||||||
method: POST
|
method: POST
|
||||||
modified: 1569937740242
|
modified: 1569937740242
|
||||||
name: Get Token Subject
|
name: Get Token Subject
|
||||||
parameters: []
|
parameters: []
|
||||||
parentId: fld_8d34eca167ef426c8aa998c98bbe74e2
|
parentId: fld_8d34eca167ef426c8aa998c98bbe74e2
|
||||||
settingDisableRenderRequestBody: false
|
settingDisableRenderRequestBody: false
|
||||||
settingEncodeUrl: true
|
settingEncodeUrl: true
|
||||||
settingRebuildPath: true
|
settingRebuildPath: true
|
||||||
settingSendCookies: true
|
settingSendCookies: true
|
||||||
settingStoreCookies: true
|
settingStoreCookies: true
|
||||||
url: "{{ base_url }}/OpenManager/getTokenSubject"
|
url: "{{ base_url }}/OpenManager/getTokenSubject"
|
||||||
_type: request
|
_type: request
|
||||||
- _id: fld_8d34eca167ef426c8aa998c98bbe74e2
|
- _id: fld_8d34eca167ef426c8aa998c98bbe74e2
|
||||||
created: 1569934364777
|
created: 1569934364777
|
||||||
description: Working with tokens ( keys )
|
description: Working with tokens ( keys )
|
||||||
environment: {}
|
environment: {}
|
||||||
environmentPropertyOrder: null
|
environmentPropertyOrder: null
|
||||||
metaSortKey: -1569905755088
|
metaSortKey: -1569905755088
|
||||||
modified: 1569934370959
|
modified: 1569934370959
|
||||||
name: Open Manager
|
name: Open Manager
|
||||||
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
_type: request_group
|
_type: request_group
|
||||||
- _id: env_7bc4918f1ec5467393a2ab36a460e4d0
|
- _id: env_7bc4918f1ec5467393a2ab36a460e4d0
|
||||||
color: null
|
color: null
|
||||||
created: 1569905755147
|
created: 1569905755147
|
||||||
data:
|
data:
|
||||||
base_url: "{{ scheme }}://{{ host }}{{ base_path }}"
|
base_url: "{{ scheme }}://{{ host }}{{ base_path }}"
|
||||||
dataPropertyOrder:
|
dataPropertyOrder:
|
||||||
"&":
|
"&":
|
||||||
- base_url
|
- base_url
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: 1569905755147
|
metaSortKey: 1569905755147
|
||||||
modified: 1569905805832
|
modified: 1569905805832
|
||||||
name: Base environment
|
name: Base environment
|
||||||
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
_type: environment
|
_type: environment
|
||||||
- _id: jar_61bbb3fdc5ee80a49ee817b3e5341053a6022960
|
- _id: jar_61bbb3fdc5ee80a49ee817b3e5341053a6022960
|
||||||
cookies:
|
cookies:
|
||||||
- creation: 2019-10-01T04:57:46.521Z
|
- creation: 2019-10-01T04:57:46.521Z
|
||||||
domain: 192.168.1.3
|
domain: 192.168.1.3
|
||||||
hostOnly: true
|
hostOnly: true
|
||||||
httpOnly: true
|
httpOnly: true
|
||||||
id: "40058861704510274"
|
id: "40058861704510274"
|
||||||
key: JSESSIONID
|
key: JSESSIONID
|
||||||
lastAccessed: 2019-10-01T14:08:27.635Z
|
lastAccessed: 2019-10-01T14:08:27.635Z
|
||||||
path: /
|
path: /
|
||||||
secure: true
|
secure: true
|
||||||
value: 2A63FF79AC604DB88D26DE41876B8B88
|
value: 2A63FF79AC604DB88D26DE41876B8B88
|
||||||
created: 1569905764431
|
created: 1569905764431
|
||||||
modified: 1569938907635
|
modified: 1569938907635
|
||||||
name: Default Jar
|
name: Default Jar
|
||||||
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
_type: cookie_jar
|
_type: cookie_jar
|
||||||
- _id: env_92b9543a27e847689c951d1b1eeff229
|
- _id: env_92b9543a27e847689c951d1b1eeff229
|
||||||
color: "#cb5dc2"
|
color: "#cb5dc2"
|
||||||
created: 1569905755144
|
created: 1569905755144
|
||||||
data:
|
data:
|
||||||
base_path: /
|
base_path: /
|
||||||
host: 192.168.1.3:8443
|
host: 192.168.1.3:8443
|
||||||
scheme: https
|
scheme: https
|
||||||
dataPropertyOrder: null
|
dataPropertyOrder: null
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: 1569905755144
|
metaSortKey: 1569905755144
|
||||||
modified: 1569935791597
|
modified: 1569935791597
|
||||||
name: colnod-test
|
name: colnod-test
|
||||||
parentId: env_7bc4918f1ec5467393a2ab36a460e4d0
|
parentId: env_7bc4918f1ec5467393a2ab36a460e4d0
|
||||||
_type: environment
|
_type: environment
|
||||||
|
|||||||
@ -1,270 +1,270 @@
|
|||||||
_type: export
|
_type: export
|
||||||
__export_format: 4
|
__export_format: 4
|
||||||
__export_date: 2019-10-02T15:35:40.243Z
|
__export_date: 2019-10-02T15:35:40.243Z
|
||||||
__export_source: insomnia.desktop.app:v6.6.2
|
__export_source: insomnia.desktop.app:v6.6.2
|
||||||
resources:
|
resources:
|
||||||
- _id: req_f0797b6411b144f0bf0a40d9300ee92f
|
- _id: req_f0797b6411b144f0bf0a40d9300ee92f
|
||||||
authentication:
|
authentication:
|
||||||
disabled: false
|
disabled: false
|
||||||
password: E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0
|
password: E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0
|
||||||
type: basic
|
type: basic
|
||||||
username: spaceti
|
username: spaceti
|
||||||
body:
|
body:
|
||||||
mimeType: application/json
|
mimeType: application/json
|
||||||
text: >-
|
text: >-
|
||||||
{
|
{
|
||||||
"username": "spaceti",
|
"username": "spaceti",
|
||||||
"password": "E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0"
|
"password": "E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0"
|
||||||
}
|
}
|
||||||
created: 1569905755136
|
created: 1569905755136
|
||||||
description: ""
|
description: ""
|
||||||
headers:
|
headers:
|
||||||
- id: pair_061d15d1294e412caca8300559541695
|
- id: pair_061d15d1294e412caca8300559541695
|
||||||
name: content-type
|
name: content-type
|
||||||
value: application/json
|
value: application/json
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: -1569905755136
|
metaSortKey: -1569905755136
|
||||||
method: POST
|
method: POST
|
||||||
modified: 1570026752164
|
modified: 1570026752164
|
||||||
name: Login user
|
name: Login user
|
||||||
parameters: []
|
parameters: []
|
||||||
parentId: fld_9ef1d96e0e6d40ef9094250114269496
|
parentId: fld_9ef1d96e0e6d40ef9094250114269496
|
||||||
settingDisableRenderRequestBody: false
|
settingDisableRenderRequestBody: false
|
||||||
settingEncodeUrl: true
|
settingEncodeUrl: true
|
||||||
settingRebuildPath: true
|
settingRebuildPath: true
|
||||||
settingSendCookies: true
|
settingSendCookies: true
|
||||||
settingStoreCookies: true
|
settingStoreCookies: true
|
||||||
url: "{{ base_url }}/AaaManager/authSession"
|
url: "{{ base_url }}/AaaManager/authSession"
|
||||||
_type: request
|
_type: request
|
||||||
- _id: fld_9ef1d96e0e6d40ef9094250114269496
|
- _id: fld_9ef1d96e0e6d40ef9094250114269496
|
||||||
created: 1569905755142
|
created: 1569905755142
|
||||||
description: Login information ( token )
|
description: Login information ( token )
|
||||||
environment: {}
|
environment: {}
|
||||||
environmentPropertyOrder: null
|
environmentPropertyOrder: null
|
||||||
metaSortKey: -1569905755142
|
metaSortKey: -1569905755142
|
||||||
modified: 1569905755142
|
modified: 1569905755142
|
||||||
name: login
|
name: login
|
||||||
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
_type: request_group
|
_type: request_group
|
||||||
- _id: wrk_43652e59afaf4825a8bbbf31e346f616
|
- _id: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
created: 1569905755149
|
created: 1569905755149
|
||||||
description: "Colnod system: [Product information](http://produkty.colsys.cz/colnod)
|
description: "Colnod system: [Product information](http://produkty.colsys.cz/colnod)
|
||||||
Jira issues: [Communicaiton with
|
Jira issues: [Communicaiton with
|
||||||
Colnod](https://spaceti.atlassian.net/secure/RapidBoard.jspa?rapidView=78\
|
Colnod](https://spaceti.atlassian.net/secure/RapidBoard.jspa?rapidView=78\
|
||||||
&projectKey=INT&modal=detail&selectedIssue=INT-3563)"
|
&projectKey=INT&modal=detail&selectedIssue=INT-3563)"
|
||||||
modified: 1569905755149
|
modified: 1569905755149
|
||||||
name: Colnod server 1.0.0
|
name: Colnod server 1.0.0
|
||||||
parentId: null
|
parentId: null
|
||||||
_type: workspace
|
_type: workspace
|
||||||
- _id: req_00f9f99d933c4638900385ffbbd4f8f7
|
- _id: req_00f9f99d933c4638900385ffbbd4f8f7
|
||||||
authentication:
|
authentication:
|
||||||
disabled: false
|
disabled: false
|
||||||
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
||||||
'b64::JC5pZA==::46b', 'no-history' %}"
|
'b64::JC5pZA==::46b', 'no-history' %}"
|
||||||
type: bearer
|
type: bearer
|
||||||
body:
|
body:
|
||||||
mimeType: application/json
|
mimeType: application/json
|
||||||
text: ""
|
text: ""
|
||||||
created: 1569905755134
|
created: 1569905755134
|
||||||
description: ""
|
description: ""
|
||||||
headers:
|
headers:
|
||||||
- id: pair_a2a3c43a20f64efbb8a4752c7e983c8e
|
- id: pair_a2a3c43a20f64efbb8a4752c7e983c8e
|
||||||
name: Content-Type
|
name: Content-Type
|
||||||
value: application/json
|
value: application/json
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: -1569905755134
|
metaSortKey: -1569905755134
|
||||||
method: POST
|
method: POST
|
||||||
modified: 1570025488293
|
modified: 1570025488293
|
||||||
name: Get subjects
|
name: Get subjects
|
||||||
parameters: []
|
parameters: []
|
||||||
parentId: fld_2fb4c2cef1f44cff83d6b00fe0886384
|
parentId: fld_2fb4c2cef1f44cff83d6b00fe0886384
|
||||||
settingDisableRenderRequestBody: false
|
settingDisableRenderRequestBody: false
|
||||||
settingEncodeUrl: true
|
settingEncodeUrl: true
|
||||||
settingRebuildPath: true
|
settingRebuildPath: true
|
||||||
settingSendCookies: true
|
settingSendCookies: true
|
||||||
settingStoreCookies: true
|
settingStoreCookies: true
|
||||||
url: "{{ base_url }}/SubjectManager/getSubjects"
|
url: "{{ base_url }}/SubjectManager/getSubjects"
|
||||||
_type: request
|
_type: request
|
||||||
- _id: fld_2fb4c2cef1f44cff83d6b00fe0886384
|
- _id: fld_2fb4c2cef1f44cff83d6b00fe0886384
|
||||||
created: 1569905755140
|
created: 1569905755140
|
||||||
description: Operations about user
|
description: Operations about user
|
||||||
environment: {}
|
environment: {}
|
||||||
environmentPropertyOrder: null
|
environmentPropertyOrder: null
|
||||||
metaSortKey: -1569905755140
|
metaSortKey: -1569905755140
|
||||||
modified: 1569905755140
|
modified: 1569905755140
|
||||||
name: user
|
name: user
|
||||||
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
_type: request_group
|
_type: request_group
|
||||||
- _id: req_9e42a5023f9d4235a5de099cd7573d2b
|
- _id: req_9e42a5023f9d4235a5de099cd7573d2b
|
||||||
authentication:
|
authentication:
|
||||||
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
||||||
'b64::JC5pZA==::46b', 'never' %}"
|
'b64::JC5pZA==::46b', 'never' %}"
|
||||||
type: bearer
|
type: bearer
|
||||||
body:
|
body:
|
||||||
mimeType: application/json
|
mimeType: application/json
|
||||||
text: ""
|
text: ""
|
||||||
created: 1569905755131
|
created: 1569905755131
|
||||||
description: ""
|
description: ""
|
||||||
headers:
|
headers:
|
||||||
- disabled: false
|
- disabled: false
|
||||||
id: pair_e888b6c679d74b0988f0dd2d77690383
|
id: pair_e888b6c679d74b0988f0dd2d77690383
|
||||||
name: Content-Type
|
name: Content-Type
|
||||||
value: application/json
|
value: application/json
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: -1569905755131
|
metaSortKey: -1569905755131
|
||||||
method: POST
|
method: POST
|
||||||
modified: 1569998661557
|
modified: 1569998661557
|
||||||
name: Get Tokens
|
name: Get Tokens
|
||||||
parameters: []
|
parameters: []
|
||||||
parentId: fld_36a4be72380440a0ace83ad508a0458d
|
parentId: fld_36a4be72380440a0ace83ad508a0458d
|
||||||
settingDisableRenderRequestBody: false
|
settingDisableRenderRequestBody: false
|
||||||
settingEncodeUrl: true
|
settingEncodeUrl: true
|
||||||
settingRebuildPath: true
|
settingRebuildPath: true
|
||||||
settingSendCookies: true
|
settingSendCookies: true
|
||||||
settingStoreCookies: true
|
settingStoreCookies: true
|
||||||
url: "{{ base_url }}/TokenManager/getTokens/"
|
url: "{{ base_url }}/TokenManager/getTokens/"
|
||||||
_type: request
|
_type: request
|
||||||
- _id: fld_36a4be72380440a0ace83ad508a0458d
|
- _id: fld_36a4be72380440a0ace83ad508a0458d
|
||||||
created: 1569905755138
|
created: 1569905755138
|
||||||
description: Working with tokens ( keys )
|
description: Working with tokens ( keys )
|
||||||
environment: {}
|
environment: {}
|
||||||
environmentPropertyOrder: null
|
environmentPropertyOrder: null
|
||||||
metaSortKey: -1569905755138
|
metaSortKey: -1569905755138
|
||||||
modified: 1569934361048
|
modified: 1569934361048
|
||||||
name: Token Manager
|
name: Token Manager
|
||||||
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
_type: request_group
|
_type: request_group
|
||||||
- _id: req_4f99d61a83c14da29882cc80c07ddf54
|
- _id: req_4f99d61a83c14da29882cc80c07ddf54
|
||||||
authentication:
|
authentication:
|
||||||
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
token: "{% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
||||||
'b64::JC5pZA==::46b', 'never' %}"
|
'b64::JC5pZA==::46b', 'never' %}"
|
||||||
type: bearer
|
type: bearer
|
||||||
body: {}
|
body: {}
|
||||||
created: 1569905755127
|
created: 1569905755127
|
||||||
description: ""
|
description: ""
|
||||||
headers: []
|
headers: []
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: -1569905755129
|
metaSortKey: -1569905755129
|
||||||
method: POST
|
method: POST
|
||||||
modified: 1569938955854
|
modified: 1569938955854
|
||||||
name: Set Tokens
|
name: Set Tokens
|
||||||
parameters: []
|
parameters: []
|
||||||
parentId: fld_36a4be72380440a0ace83ad508a0458d
|
parentId: fld_36a4be72380440a0ace83ad508a0458d
|
||||||
settingDisableRenderRequestBody: false
|
settingDisableRenderRequestBody: false
|
||||||
settingEncodeUrl: true
|
settingEncodeUrl: true
|
||||||
settingRebuildPath: true
|
settingRebuildPath: true
|
||||||
settingSendCookies: true
|
settingSendCookies: true
|
||||||
settingStoreCookies: true
|
settingStoreCookies: true
|
||||||
url: /TokenManager/setTokens
|
url: /TokenManager/setTokens
|
||||||
_type: request
|
_type: request
|
||||||
- _id: req_fd2e096f45554b46b31755564a0932bf
|
- _id: req_fd2e096f45554b46b31755564a0932bf
|
||||||
authentication:
|
authentication:
|
||||||
token: {% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
token: {% response 'body', 'req_f0797b6411b144f0bf0a40d9300ee92f',
|
||||||
'b64::JC5pZA==::46b', 'no-history' %}
|
'b64::JC5pZA==::46b', 'no-history' %}
|
||||||
type: bearer
|
type: bearer
|
||||||
body: {}
|
body: {}
|
||||||
created: 1569934364782
|
created: 1569934364782
|
||||||
description: ""
|
description: ""
|
||||||
headers: []
|
headers: []
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: -1569905755130.5
|
metaSortKey: -1569905755130.5
|
||||||
method: POST
|
method: POST
|
||||||
modified: 1570028425988
|
modified: 1570028425988
|
||||||
name: Get Token Subject
|
name: Get Token Subject
|
||||||
parameters: []
|
parameters: []
|
||||||
parentId: fld_8d34eca167ef426c8aa998c98bbe74e2
|
parentId: fld_8d34eca167ef426c8aa998c98bbe74e2
|
||||||
settingDisableRenderRequestBody: false
|
settingDisableRenderRequestBody: false
|
||||||
settingEncodeUrl: true
|
settingEncodeUrl: true
|
||||||
settingRebuildPath: true
|
settingRebuildPath: true
|
||||||
settingSendCookies: true
|
settingSendCookies: true
|
||||||
settingStoreCookies: true
|
settingStoreCookies: true
|
||||||
url: "{{ base_url }}/OpenManager/getTokenSubject"
|
url: "{{ base_url }}/OpenManager/getTokenSubject"
|
||||||
_type: request
|
_type: request
|
||||||
- _id: fld_8d34eca167ef426c8aa998c98bbe74e2
|
- _id: fld_8d34eca167ef426c8aa998c98bbe74e2
|
||||||
created: 1569934364777
|
created: 1569934364777
|
||||||
description: Working with tokens ( keys )
|
description: Working with tokens ( keys )
|
||||||
environment: {}
|
environment: {}
|
||||||
environmentPropertyOrder: null
|
environmentPropertyOrder: null
|
||||||
metaSortKey: -1569905755088
|
metaSortKey: -1569905755088
|
||||||
modified: 1569934370959
|
modified: 1569934370959
|
||||||
name: Open Manager
|
name: Open Manager
|
||||||
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
_type: request_group
|
_type: request_group
|
||||||
- _id: req_7007bb1f6a0243a7b0568741f691f6d1
|
- _id: req_7007bb1f6a0243a7b0568741f691f6d1
|
||||||
authentication:
|
authentication:
|
||||||
disabled: false
|
disabled: false
|
||||||
password: E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0
|
password: E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0
|
||||||
type: basic
|
type: basic
|
||||||
username: spaceti
|
username: spaceti
|
||||||
body:
|
body:
|
||||||
mimeType: application/json
|
mimeType: application/json
|
||||||
text: >-
|
text: >-
|
||||||
{
|
{
|
||||||
"username": "spaceti",
|
"username": "spaceti",
|
||||||
"password": "E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0"
|
"password": "E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0"
|
||||||
}
|
}
|
||||||
created: 1570025458784
|
created: 1570025458784
|
||||||
description: ""
|
description: ""
|
||||||
headers:
|
headers:
|
||||||
- id: pair_74b4df5d54d1446a90e6a668d373fb79
|
- id: pair_74b4df5d54d1446a90e6a668d373fb79
|
||||||
name: Content-Type
|
name: Content-Type
|
||||||
value: application/json
|
value: application/json
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: -1569905755129.75
|
metaSortKey: -1569905755129.75
|
||||||
method: POST
|
method: POST
|
||||||
modified: 1570030518745
|
modified: 1570030518745
|
||||||
name: Get Token Subject Full authorization
|
name: Get Token Subject Full authorization
|
||||||
parameters: []
|
parameters: []
|
||||||
parentId: fld_8d34eca167ef426c8aa998c98bbe74e2
|
parentId: fld_8d34eca167ef426c8aa998c98bbe74e2
|
||||||
settingDisableRenderRequestBody: false
|
settingDisableRenderRequestBody: false
|
||||||
settingEncodeUrl: true
|
settingEncodeUrl: true
|
||||||
settingRebuildPath: true
|
settingRebuildPath: true
|
||||||
settingSendCookies: true
|
settingSendCookies: true
|
||||||
settingStoreCookies: true
|
settingStoreCookies: true
|
||||||
url: "{{ base_url }}/OpenManager/getTokenSubject"
|
url: "{{ base_url }}/OpenManager/getTokenSubject"
|
||||||
_type: request
|
_type: request
|
||||||
- _id: env_7bc4918f1ec5467393a2ab36a460e4d0
|
- _id: env_7bc4918f1ec5467393a2ab36a460e4d0
|
||||||
color: null
|
color: null
|
||||||
created: 1569905755147
|
created: 1569905755147
|
||||||
data:
|
data:
|
||||||
base_url: "{{ scheme }}://{{ host }}{{ base_path }}"
|
base_url: "{{ scheme }}://{{ host }}{{ base_path }}"
|
||||||
dataPropertyOrder:
|
dataPropertyOrder:
|
||||||
"&":
|
"&":
|
||||||
- base_url
|
- base_url
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: 1569905755147
|
metaSortKey: 1569905755147
|
||||||
modified: 1569905805832
|
modified: 1569905805832
|
||||||
name: Base environment
|
name: Base environment
|
||||||
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
_type: environment
|
_type: environment
|
||||||
- _id: jar_61bbb3fdc5ee80a49ee817b3e5341053a6022960
|
- _id: jar_61bbb3fdc5ee80a49ee817b3e5341053a6022960
|
||||||
cookies:
|
cookies:
|
||||||
- creation: 2019-10-01T04:57:46.521Z
|
- creation: 2019-10-01T04:57:46.521Z
|
||||||
domain: 192.168.1.3
|
domain: 192.168.1.3
|
||||||
hostOnly: true
|
hostOnly: true
|
||||||
httpOnly: true
|
httpOnly: true
|
||||||
id: "9919962998126108"
|
id: "9919962998126108"
|
||||||
key: JSESSIONID
|
key: JSESSIONID
|
||||||
lastAccessed: 2019-10-02T15:35:00.995Z
|
lastAccessed: 2019-10-02T15:35:00.995Z
|
||||||
path: /
|
path: /
|
||||||
secure: true
|
secure: true
|
||||||
value: D64B135F2F3D5103F02F0B9235B13722
|
value: D64B135F2F3D5103F02F0B9235B13722
|
||||||
created: 1569905764431
|
created: 1569905764431
|
||||||
modified: 1570030500995
|
modified: 1570030500995
|
||||||
name: Default Jar
|
name: Default Jar
|
||||||
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
parentId: wrk_43652e59afaf4825a8bbbf31e346f616
|
||||||
_type: cookie_jar
|
_type: cookie_jar
|
||||||
- _id: env_92b9543a27e847689c951d1b1eeff229
|
- _id: env_92b9543a27e847689c951d1b1eeff229
|
||||||
color: "#cb5dc2"
|
color: "#cb5dc2"
|
||||||
created: 1569905755144
|
created: 1569905755144
|
||||||
data:
|
data:
|
||||||
base_path: /
|
base_path: /
|
||||||
host: 192.168.1.3:8443
|
host: 192.168.1.3:8443
|
||||||
scheme: https
|
scheme: https
|
||||||
dataPropertyOrder: null
|
dataPropertyOrder: null
|
||||||
isPrivate: false
|
isPrivate: false
|
||||||
metaSortKey: 1569905755144
|
metaSortKey: 1569905755144
|
||||||
modified: 1569935791597
|
modified: 1569935791597
|
||||||
name: colnod-test
|
name: colnod-test
|
||||||
parentId: env_7bc4918f1ec5467393a2ab36a460e4d0
|
parentId: env_7bc4918f1ec5467393a2ab36a460e4d0
|
||||||
_type: environment
|
_type: environment
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
TOKEN=$(curl -k --user "spaceti:E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0" -d '{"password":"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0","username":"spaceti"}' -H "Content-Type: application/json" https://192.168.1.3:8443/AaaManager/authSession 2>/dev/null | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["id"]')
|
TOKEN=$(curl -k --user "spaceti:E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0" -d '{"password":"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0","username":"spaceti"}' -H "Content-Type: application/json" https://192.168.1.3:8443/AaaManager/authSession 2>/dev/null | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["id"]')
|
||||||
|
|
||||||
|
|
||||||
curl -kv -u "$TOKEN:" -X POST https://192.168.1.3:8443/SubjectManager/getSubjects
|
curl -kv -u "$TOKEN:" -X POST https://192.168.1.3:8443/SubjectManager/getSubjects
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
TOKEN=$(curl -k --user "spaceti:E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0" -d '{"password":"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0","username":"spaceti"}' -H "Content-Type: application/json" https://192.168.1.3:8443/AaaManager/authSession 2>/dev/null | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["id"]')
|
TOKEN=$(curl -k --user "spaceti:E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0" -d '{"password":"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0","username":"spaceti"}' -H "Content-Type: application/json" https://192.168.1.3:8443/AaaManager/authSession 2>/dev/null | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["id"]')
|
||||||
|
|
||||||
|
|
||||||
curl -kv -u "$TOKEN:" -X POST https://192.168.1.3:8443/TokenManager/getTokens/
|
curl -kv -u "$TOKEN:" -X POST https://192.168.1.3:8443/TokenManager/getTokens/
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
TOKEN=$(curl -k --user "spaceti:E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0" -d '{"password":"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0","username":"spaceti"}' -H "Content-Type: application/json" https://192.168.1.3:8443/AaaManager/authSession 2>/dev/null | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["id"]')
|
TOKEN=$(curl -k --user "spaceti:E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0" -d '{"password":"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0","username":"spaceti"}' -H "Content-Type: application/json" https://192.168.1.3:8443/AaaManager/authSession 2>/dev/null | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["id"]')
|
||||||
|
echo TOKEN
|
||||||
curl -kv -u "$TOKEN:" -X POST https://192.168.1.3:8443/OpenManager/getTokenSubject
|
curl -kv -u "$TOKEN:" -X POST https://192.168.1.3:8443/OpenManager/getTokenSubject
|
||||||
|
|||||||
37
http/Curl.txt
Normal file
37
http/Curl.txt
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
///SubjectManager/getSubjects
|
||||||
|
RESPONSE
|
||||||
|
HTTP/1.1 200
|
||||||
|
X-Content-Type-Options: nosniff
|
||||||
|
X-XSS-Protection: 1; mode=block
|
||||||
|
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
|
||||||
|
Pragma: no-cache
|
||||||
|
Expires: 0
|
||||||
|
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
|
||||||
|
X-Frame-Options: DENY
|
||||||
|
Set-Cookie: JSESSIONID=77278D21902AE1DE75E43204C2770545;path=/;Secure;HttpOnly
|
||||||
|
Content-Type: application/json;charset=UTF-8
|
||||||
|
Transfer-Encoding: chunked
|
||||||
|
Date: Thu, 03 Oct 2019 11:12:03 GMT
|
||||||
|
|
||||||
|
REQUEST
|
||||||
|
POST /SubjectManager/getSubjects HTTP/1.1
|
||||||
|
Host: 192.168.1.3:8443
|
||||||
|
Authorization: Basic ODkwZjllNmMtMDIxNi00ZThiLWI2MjgtMjViOGI2ZmFiNWM4Og==
|
||||||
|
User-Agent: curl/7.65.3
|
||||||
|
Accept: */*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
POST /AaaManager/authSession HTTP/1.1
|
||||||
|
Host: localhost:8080
|
||||||
|
Authorization: Basic c3BhY2V0aTpFN0ZFQTA3REJDODJGQjlCQTM0QjJFNDUzRTJFRkU4OUYwNTgzRTcxODc1NDM1MDdFRjExRTg0NzI2MDcxRkU0Mjg0NDUzNzJGMkU0NkI0NTVFQjBDNzk3NDdDNTFFMzYyRjQwM0NFMzk0NzNBMkE4QzJERkEwQ0U1Qzk4MjZDMA==
|
||||||
|
User-Agent: curl/7.65.3
|
||||||
|
Accept: */*
|
||||||
|
Content-Type: application/json
|
||||||
|
Content-Length: 164
|
||||||
|
|
||||||
|
{
|
||||||
|
"password":"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0",
|
||||||
|
"username":"spaceti"
|
||||||
|
}
|
||||||
12
http/Insomnia.txt
Normal file
12
http/Insomnia.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
POST /OpenManager/getTokenSubject HTTP/1.1
|
||||||
|
Host: localhost:8080
|
||||||
|
Authorization: Basic c3BhY2V0aTpFN0ZFQTA3REJDODJGQjlCQTM0QjJFNDUzRTJFRkU4OUYwNTgzRTcxODc1NDM1MDdFRjExRTg0NzI2MDcxRkU0Mjg0NDUzNzJGMkU0NkI0NTVFQjBDNzk3NDdDNTFFMzYyRjQwM0NFMzk0NzNBMkE4QzJERkEwQ0U1Qzk4MjZDMA==
|
||||||
|
User-Agent: insomnia/7.0.0
|
||||||
|
Content-Type: application/json
|
||||||
|
Accept: */*
|
||||||
|
Content-Length: 173
|
||||||
|
|
||||||
|
{
|
||||||
|
"username": "spaceti",
|
||||||
|
"password": "E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0"
|
||||||
|
}
|
||||||
24
http/Qt requests.txt
Normal file
24
http/Qt requests.txt
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
POST /AaaManager/authSession HTTP/1.1
|
||||||
|
Host: localhost:8080
|
||||||
|
Authorization: Basic c3BhY2V0aTpFN0ZFQTA3REJDODJGQjlCQTM0QjJFNDUzRTJFRkU4OUYwNTgzRTcxODc1NDM1MDdFRjExRTg0NzI2MDcxRkU0Mjg0NDUzNzJGMkU0NkI0NTVFQjBDNzk3NDdDNTFFMzYyRjQwM0NFMzk0NzNBMkE4QzJERkEwQ0U1Qzk4MjZDMA==
|
||||||
|
Content-Type: application/json; charset=UTF-8
|
||||||
|
Content-Length: 178
|
||||||
|
Connection: Keep-Alive
|
||||||
|
Accept-Encoding: gzip, deflate
|
||||||
|
Accept-Language: en-AI,*
|
||||||
|
User-Agent: Mozilla/5.0
|
||||||
|
|
||||||
|
{
|
||||||
|
"password": "E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0",
|
||||||
|
"username": "spaceti"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//no data because cant get token
|
||||||
|
POST /SubjectManager/getSubjects HTTP/1.1
|
||||||
|
Host: localhost:8080
|
||||||
|
Content-Length: 0
|
||||||
|
Connection: Keep-Alive
|
||||||
|
Accept-Encoding: gzip, deflate
|
||||||
|
Accept-Language: en-AI,*
|
||||||
|
User-Agent: Mozilla/5.0
|
||||||
5
http/sendingRequestBySSLSocket.txt
Normal file
5
http/sendingRequestBySSLSocket.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
POST /SubjectManager/getSubjects HTTP/1.1
|
||||||
|
Host: 192.168.1.3:8443
|
||||||
|
Authorization: Basic " + tkn.toUtf8().toBase64() + "
|
||||||
|
User-Agent: curl/7.65.3
|
||||||
|
Accept: */*
|
||||||
@ -2,8 +2,18 @@ INCLUDEPATH += $$PWD
|
|||||||
#SRC_DIR = $$PWD
|
#SRC_DIR = $$PWD
|
||||||
message($$PWD)
|
message($$PWD)
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
$$PWD/requestmanager.cpp
|
$$PWD/databasemanager.cpp \
|
||||||
|
$$PWD/dataprocessor.cpp \
|
||||||
|
$$PWD/entity.cpp \
|
||||||
|
$$PWD/requestmanager.cpp \
|
||||||
|
$$PWD/subject.cpp \
|
||||||
|
$$PWD/token.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
$$PWD/requestmanager.h
|
$$PWD/databasemanager.h \
|
||||||
|
$$PWD/dataprocessor.h \
|
||||||
|
$$PWD/entity.h \
|
||||||
|
$$PWD/requestmanager.h \
|
||||||
|
$$PWD/subject.h \
|
||||||
|
$$PWD/token.h
|
||||||
message($$SOURCES)
|
message($$SOURCES)
|
||||||
|
|||||||
50
src/colnod/databasemanager.cpp
Normal file
50
src/colnod/databasemanager.cpp
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
#include "databasemanager.h"
|
||||||
|
|
||||||
|
DatabaseManager::DatabaseManager(QString host, QString dbName, QString user, QString password)
|
||||||
|
{
|
||||||
|
|
||||||
|
db = QSqlDatabase::addDatabase("QPSQL");
|
||||||
|
|
||||||
|
db.setDatabaseName(dbName);
|
||||||
|
db.setHostName(host);
|
||||||
|
db.setUserName(user);
|
||||||
|
db.setPassword(password);
|
||||||
|
opened = db.open();
|
||||||
|
if (!opened)
|
||||||
|
{
|
||||||
|
qDebug() << "Opening error" + db.lastError().text();
|
||||||
|
}
|
||||||
|
query = QSqlQuery("query", db);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DatabaseManager::saveSubject(Subject subject, QString table)
|
||||||
|
{
|
||||||
|
//TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
void DatabaseManager::saveToken(Subject subject, QString table)
|
||||||
|
{
|
||||||
|
//TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
QString DatabaseManager::getTestMessage(int id)
|
||||||
|
{
|
||||||
|
query.prepare("SELECT message FROM test WHERE id = :id");
|
||||||
|
query.bindValue(":id", id);
|
||||||
|
query.exec();
|
||||||
|
query.next();
|
||||||
|
//qDebug() << query.value(0);
|
||||||
|
return query.value(0).toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
void DatabaseManager::createTestRecord(QString msg)
|
||||||
|
{
|
||||||
|
query.exec("SELECT MAX(id) FROM test");
|
||||||
|
query.next();
|
||||||
|
int id = query.value(0).toInt() + 1;
|
||||||
|
QString statement = QString("INSERT INTO test (id, message) VALUES (%1, '%2')").arg(id).arg(msg);
|
||||||
|
query.exec(statement);
|
||||||
|
query.next();
|
||||||
|
qDebug() << "U inserted new row, id: " << id << "msg: " << getTestMessage(id);
|
||||||
|
|
||||||
|
}
|
||||||
38
src/colnod/databasemanager.h
Normal file
38
src/colnod/databasemanager.h
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#ifndef DATABASEMANAGER_H
|
||||||
|
#define DATABASEMANAGER_H
|
||||||
|
#include <QSql>
|
||||||
|
#include <QSqlDatabase>
|
||||||
|
#include <QSqlQuery>
|
||||||
|
#include <QSqlError>
|
||||||
|
|
||||||
|
#include <QVariant>
|
||||||
|
#include <QDebug>
|
||||||
|
#include "subject.h"
|
||||||
|
#include "token.h"
|
||||||
|
|
||||||
|
|
||||||
|
class DatabaseManager : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
DatabaseManager(QString host, QString dbName, QString user, QString password);
|
||||||
|
|
||||||
|
void saveSubject(Subject subject, QString table);
|
||||||
|
void saveToken(Subject subject, QString table);
|
||||||
|
|
||||||
|
QString getTestMessage(int id);
|
||||||
|
void createTestRecord(QString msg);
|
||||||
|
|
||||||
|
|
||||||
|
bool getOpened() {return opened;}
|
||||||
|
|
||||||
|
private:
|
||||||
|
QSqlDatabase db;
|
||||||
|
QSqlQuery query;
|
||||||
|
|
||||||
|
bool opened;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // DATABASEMANAGER_H
|
||||||
56
src/colnod/dataprocessor.cpp
Normal file
56
src/colnod/dataprocessor.cpp
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
#include "dataprocessor.h"
|
||||||
|
|
||||||
|
DataProcessor::DataProcessor()
|
||||||
|
{
|
||||||
|
|
||||||
|
db = new DatabaseManager("192.168.1.94", "deloitte", "postgres", "34rjkciea12");
|
||||||
|
reqMan = new RequestManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DataProcessor::processSubjects()
|
||||||
|
{
|
||||||
|
reqMan->getSubjects();
|
||||||
|
QEventLoop loop;
|
||||||
|
QObject::connect(reqMan, &RequestManager::responseReady, &loop, &QEventLoop::quit);
|
||||||
|
loop.exec();
|
||||||
|
prepareSubjectJson(reqMan->getResponse());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
QUuid DataProcessor::getSubjectId(const QString &email) const
|
||||||
|
{
|
||||||
|
auto subject = this->getSubjectByEmail(email);
|
||||||
|
if (!subject)
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
return subject->getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
Subject *DataProccesor::getSubjectById(const QUuid &id) const
|
||||||
|
{
|
||||||
|
return this->subjectsById.value(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
Subject DataProcessor::getSubjectByEmail(const QString &email) const
|
||||||
|
{
|
||||||
|
return this->subjectsByEmail.value(email);
|
||||||
|
}
|
||||||
|
|
||||||
|
Token *Client::getTokenById(const QUuid &id) const
|
||||||
|
{
|
||||||
|
return this->tokensById.value(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
Token *Client::getTokenByData(const QString &data) const
|
||||||
|
{
|
||||||
|
return this->tokensByData.value(data);
|
||||||
|
}*/
|
||||||
|
|
||||||
|
void DataProcessor::prepareSubjectJson(QString json)
|
||||||
|
{
|
||||||
|
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
||||||
|
subjectArr = doc.object()["items"].toArray();
|
||||||
|
}
|
||||||
41
src/colnod/dataprocessor.h
Normal file
41
src/colnod/dataprocessor.h
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
#ifndef DATAPROCESSOR_H
|
||||||
|
#define DATAPROCESSOR_H
|
||||||
|
|
||||||
|
#include "token.h"
|
||||||
|
#include "subject.h"
|
||||||
|
#include "requestmanager.h"
|
||||||
|
#include "databasemanager.h"
|
||||||
|
#include <QJsonDocument>
|
||||||
|
#include <qjsonarray.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class DataProcessor : public QObject
|
||||||
|
{
|
||||||
|
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
DataProcessor();
|
||||||
|
|
||||||
|
void processSubjects();
|
||||||
|
|
||||||
|
Subject *getSubjectById(const QUuid &id) const;
|
||||||
|
Subject *getSubjectByEmail(const QString &email) const;
|
||||||
|
QUuid getSubjectId(const QString &email) const;
|
||||||
|
|
||||||
|
Token *getTokenById(const QUuid &id) const;
|
||||||
|
Token *getTokenByData(const QString &data) const;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void prepareSubjectJson(QString json);
|
||||||
|
|
||||||
|
private:
|
||||||
|
RequestManager *reqMan;
|
||||||
|
DatabaseManager *db;
|
||||||
|
QJsonArray subjectArr;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // DATAPROCESSOR_H
|
||||||
52
src/colnod/entity.cpp
Normal file
52
src/colnod/entity.cpp
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
#include <QJsonObject>
|
||||||
|
#include "entity.h"
|
||||||
|
|
||||||
|
const QUuid &Entity::getId() const {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Entity::setId(const QUuid &id) {
|
||||||
|
Entity::id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QString &Entity::getName() const {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Entity::setName(const QString &name) {
|
||||||
|
Entity::name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QString &Entity::getDescription() const {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Entity::setDescription(const QString &description) {
|
||||||
|
Entity::description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint64_t Entity::getLastUpdate() const {
|
||||||
|
return lastUpdate;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Entity::setLastUpdate(uint64_t lastUpdate) {
|
||||||
|
this->lastUpdate = lastUpdate;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Entity::fromJSON(const QJsonObject &json) {
|
||||||
|
id = json.value("id").toString();
|
||||||
|
name = json.value("name").toString();
|
||||||
|
description = json.value("description").toString();
|
||||||
|
lastUpdate = json.value("lastUpdate").toDouble();
|
||||||
|
}
|
||||||
|
|
||||||
|
QJsonObject Entity::toJSON() const {
|
||||||
|
QJsonObject json;
|
||||||
|
|
||||||
|
json.value("id") = id.toString();
|
||||||
|
json.value("name") = name;
|
||||||
|
json.value("description") = description;
|
||||||
|
json.value("lastUpdate") = lastUpdate;
|
||||||
|
|
||||||
|
return json;
|
||||||
|
}
|
||||||
37
src/colnod/entity.h
Normal file
37
src/colnod/entity.h
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#ifndef COLNOD_CONNECTOR_ENTITY_H
|
||||||
|
#define COLNOD_CONNECTOR_ENTITY_H
|
||||||
|
|
||||||
|
#include <QtCore/QObject>
|
||||||
|
#include <QtCore/QUuid>
|
||||||
|
#include <QtCore/QJsonObject>
|
||||||
|
|
||||||
|
|
||||||
|
class Entity : public QObject {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
using QObject::QObject;
|
||||||
|
|
||||||
|
const QUuid &getId() const;
|
||||||
|
void setId(const QUuid &id);
|
||||||
|
|
||||||
|
const QString &getName() const;
|
||||||
|
void setName(const QString &name);
|
||||||
|
|
||||||
|
const QString &getDescription() const;
|
||||||
|
void setDescription(const QString &description);
|
||||||
|
|
||||||
|
uint64_t getLastUpdate() const;
|
||||||
|
void setLastUpdate(uint64_t lastUpdate);
|
||||||
|
|
||||||
|
virtual void fromJSON(const QJsonObject &json);
|
||||||
|
virtual QJsonObject toJSON() const;
|
||||||
|
protected:
|
||||||
|
QUuid id;
|
||||||
|
QString name;
|
||||||
|
QString description;
|
||||||
|
qint64 lastUpdate;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif //COLNOD_CONNECTOR_ENTITY_H
|
||||||
@ -1,124 +1,145 @@
|
|||||||
#include "requestmanager.h"
|
#include "requestmanager.h"
|
||||||
|
|
||||||
RequestManager::RequestManager()
|
RequestManager::RequestManager()
|
||||||
{
|
{
|
||||||
manager = new QNetworkAccessManager();
|
manager = new QNetworkAccessManager();
|
||||||
token = "";
|
token = "";
|
||||||
loginStatus = false;
|
loginStatus = false; //should be false, true for testing request header
|
||||||
|
|
||||||
QFile configFile(QDir::current().filePath("config.json"));
|
|
||||||
|
|
||||||
if (!configFile.open(QIODevice::ReadOnly)) {
|
QFile configFile(QDir::current().filePath("config.json"));
|
||||||
qCritical() << "Couldn't open config file config.json" << QDir::current().filePath("config.json");
|
if (!configFile.open(QIODevice::ReadOnly)) {
|
||||||
QCoreApplication::exit(-1);
|
qCritical() << "Couldn't open config file config.json" << QDir::current().filePath("config.json");
|
||||||
return;
|
QCoreApplication::exit(-1);
|
||||||
}
|
return;
|
||||||
|
}
|
||||||
this->config = QJsonDocument::fromJson(configFile.readAll());
|
this->config = QJsonDocument::fromJson(configFile.readAll());
|
||||||
QObject::connect(manager, &QNetworkAccessManager::sslErrors, this, &RequestManager::onSSLError);
|
QObject::connect(manager, &QNetworkAccessManager::sslErrors, this, &RequestManager::onSSLError);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RequestManager::login(QString host, QString username, QString password)
|
void RequestManager::login(QString host, QString username, QString password)
|
||||||
{
|
{
|
||||||
QNetworkRequest request;
|
QNetworkRequest request;
|
||||||
QString hash = encryptedPassword(password);
|
QString hash = encryptedPassword(password);
|
||||||
authHeader = getLoginHeader(username, hash);
|
authHeader = getLoginHeader(username, hash);
|
||||||
QJsonObject reqBody = {
|
QJsonObject reqBody = {
|
||||||
{"password", hash},
|
{"password", hash},
|
||||||
{"username", username}
|
{"username", username}
|
||||||
};
|
};
|
||||||
this->host = host;
|
this->host = host;
|
||||||
|
|
||||||
request.setUrl(host + "/AaaManager/authSession");
|
request.setUrl(host + "/AaaManager/authSession");
|
||||||
request.setRawHeader("Authorization", authHeader.toLocal8Bit());
|
request.setRawHeader("Authorization", authHeader.toLocal8Bit());
|
||||||
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json; charset=UTF-8");
|
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json; charset=UTF-8");
|
||||||
QJsonDocument jsonDocument;
|
QJsonDocument jsonDocument;
|
||||||
jsonDocument.setObject(reqBody);
|
|
||||||
QNetworkReply* reply = manager->post(request, jsonDocument.toJson());
|
jsonDocument.setObject(reqBody);
|
||||||
QObject::connect(reply, &QNetworkReply::finished, [=]() {
|
QNetworkReply* reply = manager->post(request, jsonDocument.toJson());
|
||||||
if (reply->error())
|
QObject::connect(reply, &QNetworkReply::finished, [=]() {
|
||||||
{
|
if (reply->error())
|
||||||
qDebug() << reply->errorString();
|
{
|
||||||
loginStatus = false;
|
qDebug() << reply->errorString();
|
||||||
qDebug() << reply->readAll();
|
loginStatus = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
jsonResponse = reply->readAll();
|
jsonResponse = reply->readAll();
|
||||||
prepareAuthHeader();
|
prepareAuthHeader();
|
||||||
emit successLogin();
|
loginStatus = true;
|
||||||
reply->deleteLater();
|
emit successLogin();
|
||||||
});
|
reply->deleteLater();
|
||||||
}
|
});
|
||||||
|
}
|
||||||
void RequestManager::getRequest(QString endpoint)
|
|
||||||
{
|
void RequestManager::getRequest(QString endpoint)
|
||||||
QNetworkRequest request;
|
{
|
||||||
request.setUrl(host + endpoint);
|
if (!loginStatus)
|
||||||
request.setRawHeader("Authorization", authHeader.toLocal8Bit());
|
{
|
||||||
QNetworkReply* reply = manager->post(request, QByteArray());
|
login(config.object()["host"].toString(), config.object()["username"].toString(), config.object()["password"].toString());
|
||||||
QObject::connect(reply, &QNetworkReply::finished, [=]() {
|
// QEventLoop loop;
|
||||||
if (reply->error())
|
// QObject::connect(this, &RequestManager::successLogin, &loop, &QEventLoop::quit);
|
||||||
{
|
// loop.exec();
|
||||||
qDebug() << reply->errorString();
|
}
|
||||||
qDebug() << reply->readAll();
|
|
||||||
return;
|
//
|
||||||
}
|
//host = config.object()["host"].toString();
|
||||||
|
//
|
||||||
//print reply info
|
|
||||||
auto items = reply->rawHeaderPairs();
|
QNetworkRequest request;
|
||||||
for (auto item : items)
|
request.setUrl(host + endpoint);
|
||||||
{
|
qDebug() << authHeader;
|
||||||
qDebug() << item;
|
request.setRawHeader("Authorization", authHeader.toLocal8Bit());
|
||||||
}
|
request.setRawHeader("User-Agent", "curl/7.65.3");
|
||||||
auto reqHeaderName = reply->request().rawHeaderList();
|
request.setRawHeader("Connection", "Keep-Alive");
|
||||||
for (QString header : reqHeaderName)
|
request.setRawHeader("Accept", "*/*");
|
||||||
{
|
request.setRawHeader("Accept-Encoding", "*");
|
||||||
qDebug() << reply->request().rawHeader(header.toUtf8());
|
request.setRawHeader("Accept-Language", "*");
|
||||||
}
|
|
||||||
qDebug() << reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
|
QNetworkReply* reply = manager->post(request, QByteArray());
|
||||||
|
|
||||||
jsonResponse = reply->readAll();
|
//
|
||||||
emit responseReady();
|
//QEventLoop loop;
|
||||||
});
|
//QObject::connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
|
||||||
}
|
// loop.exec();
|
||||||
|
//
|
||||||
QString RequestManager::getFromJson(QString json, QString member)
|
|
||||||
{
|
QObject::connect(reply, &QNetworkReply::finished, [=]() {
|
||||||
QJsonParseError err;
|
if (reply->error())
|
||||||
QJsonDocument document = QJsonDocument::fromJson(json.toUtf8(),&err);
|
{
|
||||||
if (err.error != 0)
|
qDebug() << reply->errorString();
|
||||||
{
|
qDebug() << reply->readAll();
|
||||||
qDebug() << err.errorString();
|
loginStatus = false;
|
||||||
}
|
getRequest(endpoint);
|
||||||
return document[member].toString();
|
return;
|
||||||
}
|
}
|
||||||
|
qDebug() << reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
|
||||||
QString RequestManager::encryptedPassword(QString password)
|
jsonResponse = reply->readAll();
|
||||||
{
|
emit responseReady();
|
||||||
return QCryptographicHash::hash(password.toLocal8Bit(), QCryptographicHash::Sha512).toHex().toUpper();
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QString RequestManager::getLoginHeader(QString username, QString hash)
|
QString RequestManager::getFromJson(QString json, const QString &member)
|
||||||
{
|
{
|
||||||
QString authValue = username + ":" + hash;
|
QJsonParseError err;
|
||||||
return "Basic " + authValue.toLocal8Bit().toBase64();
|
QJsonDocument document = QJsonDocument::fromJson(json.toUtf8(),&err);
|
||||||
}
|
if (err.error != 0)
|
||||||
|
{
|
||||||
void RequestManager::prepareAuthHeader()
|
qDebug() << err.errorString();
|
||||||
{
|
}
|
||||||
token = getFromJson(jsonResponse, "id");
|
return document.object().value(member).toString();
|
||||||
QString authValue = token + ":";
|
}
|
||||||
authHeader = "Basic" + authValue.toLocal8Bit().toBase64();
|
|
||||||
}
|
QString RequestManager::encryptedPassword(QString password)
|
||||||
|
{
|
||||||
void RequestManager::onSSLError(QNetworkReply *reply, const QList<QSslError> &errors)
|
return QCryptographicHash::hash(password.toLocal8Bit(), QCryptographicHash::Sha512).toHex().toUpper();
|
||||||
{
|
}
|
||||||
qDebug() << "Network SSL errors";
|
|
||||||
for (const auto &error : errors)
|
QString RequestManager::getLoginHeader(QString username, QString hash)
|
||||||
{
|
{
|
||||||
if (error.error() == QSslError::SelfSignedCertificate)
|
QString authValue = username + ":" + hash;
|
||||||
reply->ignoreSslErrors(errors);
|
return "Basic " + authValue.toLocal8Bit().toBase64();
|
||||||
qDebug() << error.errorString();
|
}
|
||||||
}
|
|
||||||
|
void RequestManager::prepareAuthHeader()
|
||||||
}
|
{
|
||||||
|
token = getFromJson(jsonResponse, "id");
|
||||||
|
QString authValue = token + ":";
|
||||||
|
authHeader = "Basic" + authValue.toLocal8Bit().toBase64();
|
||||||
|
}
|
||||||
|
|
||||||
|
void RequestManager::onSSLError(QNetworkReply *reply, const QList<QSslError> &errors)
|
||||||
|
{
|
||||||
|
qDebug() << "Network SSL errors";
|
||||||
|
for (const auto &error : errors)
|
||||||
|
{
|
||||||
|
if (error.error() == QSslError::SelfSignedCertificate)
|
||||||
|
reply->ignoreSslErrors(errors);
|
||||||
|
qDebug() << error.errorString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void RequestManager::getSubjects()
|
||||||
|
{
|
||||||
|
getRequest("/SubjectManager/getSubjects");
|
||||||
|
}
|
||||||
|
|||||||
@ -20,24 +20,35 @@
|
|||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QSslError>
|
#include <QSslError>
|
||||||
|
|
||||||
|
|
||||||
|
#include "databasemanager.h"
|
||||||
|
#include "token.h"
|
||||||
|
#include "subject.h"
|
||||||
|
|
||||||
class RequestManager : public QObject
|
class RequestManager : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RequestManager();
|
RequestManager();
|
||||||
|
void getSubjects();
|
||||||
void login(QString endpoint, QString username, QString password);
|
void login(QString endpoint, QString username, QString password);
|
||||||
void getRequest(QString endpoint);
|
void getRequest(QString endpoint);
|
||||||
void fetchSubjects(QString endpoint);
|
void loadSubjectsFromColnodToDB();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const QJsonDocument &getConfig() const {return config;}
|
const QJsonDocument &getConfig() const {return config;}
|
||||||
const QString &getResponse() const {return jsonResponse;}
|
const QString &getResponse() const {return jsonResponse;}
|
||||||
QString getToken(){return token;}
|
QString getToken(){return token;}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
QString getFromJson(QString json, QString member);
|
QString getFromJson(QString json, const QString &member);
|
||||||
QString encryptedPassword(QString password);
|
QString encryptedPassword(QString password);
|
||||||
QString getLoginHeader(QString username, QString hash);
|
QString getLoginHeader(QString username, QString hash);
|
||||||
void prepareAuthHeader();
|
void prepareAuthHeader();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void onSSLError(QNetworkReply *reply, const QList<QSslError> &errors);
|
void onSSLError(QNetworkReply *reply, const QList<QSslError> &errors);
|
||||||
|
|
||||||
@ -48,14 +59,13 @@ signals:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
QNetworkAccessManager* manager;
|
QNetworkAccessManager* manager;
|
||||||
|
|
||||||
QJsonDocument config;
|
QJsonDocument config;
|
||||||
QString authHeader;
|
QString authHeader;
|
||||||
QString host;
|
QString host;
|
||||||
QString token;
|
QString token;
|
||||||
QString jsonResponse;
|
QString jsonResponse;
|
||||||
bool loginStatus;
|
bool loginStatus;
|
||||||
QString tenant;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
74
src/colnod/subject.cpp
Normal file
74
src/colnod/subject.cpp
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
#include <utility>
|
||||||
|
|
||||||
|
#include "subject.h"
|
||||||
|
|
||||||
|
#include <QJsonArray>
|
||||||
|
|
||||||
|
QString Subject::getEmail() const {
|
||||||
|
return attributes["email"].toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Subject::fromJSON(const QJsonObject &json) {
|
||||||
|
Entity::fromJSON(json);
|
||||||
|
|
||||||
|
//attributes = json["attributes"]["items"].toObject();
|
||||||
|
|
||||||
|
attributes = json.value("attributes").toObject().value("items").toObject();
|
||||||
|
|
||||||
|
const auto &tokenFlagsArray = json.value("tokenFlags").toArray();
|
||||||
|
for(const auto &flag : tokenFlagsArray){
|
||||||
|
tokenFlags.insert(flag.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
pin = json.value("pin").toString();
|
||||||
|
|
||||||
|
const auto &pinFlagsArray = json.value("pinFlags").toArray();
|
||||||
|
for(const auto &flag : pinFlagsArray){
|
||||||
|
pinFlags.insert(flag.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
QJsonObject Subject::toJSON() const {
|
||||||
|
QJsonObject json = Entity::toJSON();
|
||||||
|
|
||||||
|
QJsonObject items({{"items", attributes}});
|
||||||
|
json.value("atributes") = items;
|
||||||
|
json.value("tokenFlags") = QJsonArray::fromStringList(tokenFlags.toList());
|
||||||
|
json.value("pin") = pin;
|
||||||
|
json.value("pinFlags") = QJsonArray::fromStringList(pinFlags.toList());
|
||||||
|
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QJsonObject &Subject::getAttributes() const {
|
||||||
|
return attributes;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Subject::setAttributes(const QJsonObject &attributes) {
|
||||||
|
Subject::attributes = attributes;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QSet<QString> &Subject::getTokenFlags() const {
|
||||||
|
return tokenFlags;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Subject::setTokenFlags(const QSet<QString> &tokenFlags) {
|
||||||
|
Subject::tokenFlags = tokenFlags;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QString &Subject::getPin() const {
|
||||||
|
return pin;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Subject::setPin(const QString &pin) {
|
||||||
|
Subject::pin = pin;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QSet<QString> &Subject::getPinFlags() const {
|
||||||
|
return pinFlags;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Subject::setPinFlags(const QSet<QString> &pinFlags) {
|
||||||
|
Subject::pinFlags = pinFlags;
|
||||||
|
}
|
||||||
35
src/colnod/subject.h
Normal file
35
src/colnod/subject.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#ifndef COLNOD_CONNECTOR_SUBJECT_H
|
||||||
|
#define COLNOD_CONNECTOR_SUBJECT_H
|
||||||
|
|
||||||
|
#include <QSet>
|
||||||
|
|
||||||
|
#include "entity.h"
|
||||||
|
|
||||||
|
|
||||||
|
class Subject : public Entity {
|
||||||
|
|
||||||
|
public:
|
||||||
|
using Entity::Entity;
|
||||||
|
|
||||||
|
QString getEmail() const;
|
||||||
|
|
||||||
|
const QJsonObject &getAttributes() const;
|
||||||
|
void setAttributes(const QJsonObject &attributes);
|
||||||
|
const QSet<QString> &getTokenFlags() const;
|
||||||
|
void setTokenFlags(const QSet<QString> &tokenFlags);
|
||||||
|
const QString &getPin() const;
|
||||||
|
void setPin(const QString &pin);
|
||||||
|
const QSet<QString> &getPinFlags() const;
|
||||||
|
void setPinFlags(const QSet<QString> &pinFlags);
|
||||||
|
|
||||||
|
void fromJSON(const QJsonObject &json) override;
|
||||||
|
QJsonObject toJSON() const override;
|
||||||
|
protected:
|
||||||
|
QJsonObject attributes;
|
||||||
|
QSet<QString> tokenFlags;
|
||||||
|
QString pin;
|
||||||
|
QSet<QString> pinFlags;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif //COLNOD_CONNECTOR_SUBJECT_H
|
||||||
108
src/colnod/token.cpp
Normal file
108
src/colnod/token.cpp
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
#include "token.h"
|
||||||
|
|
||||||
|
#include <QJsonArray>
|
||||||
|
|
||||||
|
void Token::fromJSON(const QJsonObject &json) {
|
||||||
|
Entity::fromJSON(json);
|
||||||
|
|
||||||
|
tokenType = json.value("tokenType").toString();
|
||||||
|
tokenBits = json.value("tokenBits").toInt();
|
||||||
|
tokenData = json.value("tokenData").toString();
|
||||||
|
validFrom = json.value("validFrom").toDouble();
|
||||||
|
validTo = json.value("validTo").toDouble();
|
||||||
|
timeToLive = json.value("timeToLive").toInt();
|
||||||
|
authErrors = json["authErrors"].toInt();
|
||||||
|
const auto &flagsArray = json["flags"].toArray();
|
||||||
|
for(const auto &flag : flagsArray){
|
||||||
|
flags.insert(flag.toString());
|
||||||
|
}
|
||||||
|
subjectId = json.value("subjectId").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
QJsonObject Token::toJSON() const {
|
||||||
|
QJsonObject json = Entity::toJSON();
|
||||||
|
|
||||||
|
json.value("tokenType") = tokenType;
|
||||||
|
json.value("tokenBits") = tokenBits;
|
||||||
|
json.value("tokenData") = tokenData;
|
||||||
|
json.value("validFrom") = validFrom;
|
||||||
|
json.value("validTo") = validTo;
|
||||||
|
json.value("timeToLive") = timeToLive;
|
||||||
|
json.value("authErrors") = authErrors;
|
||||||
|
json.value("flags") = QJsonArray::fromStringList(flags.toList());
|
||||||
|
json.value("subjectId") = subjectId.toString();
|
||||||
|
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QString &Token::getTokenType() const {
|
||||||
|
return tokenType;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Token::setTokenType(const QString &tokenType) {
|
||||||
|
Token::tokenType = tokenType;
|
||||||
|
}
|
||||||
|
|
||||||
|
int Token::getTokenBits() const {
|
||||||
|
return tokenBits;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Token::setTokenBits(int tokenBits) {
|
||||||
|
Token::tokenBits = tokenBits;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QString &Token::getTokenData() const {
|
||||||
|
return tokenData;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Token::setTokenData(const QString &tokenData) {
|
||||||
|
Token::tokenData = tokenData;
|
||||||
|
}
|
||||||
|
|
||||||
|
qint64 Token::getValidFrom() const {
|
||||||
|
return validFrom;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Token::setValidFrom(qint64 validFrom) {
|
||||||
|
Token::validFrom = validFrom;
|
||||||
|
}
|
||||||
|
|
||||||
|
qint64 Token::getValidTo() const {
|
||||||
|
return validTo;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Token::setValidTo(qint64 validTo) {
|
||||||
|
Token::validTo = validTo;
|
||||||
|
}
|
||||||
|
|
||||||
|
int Token::getTimeToLive() const {
|
||||||
|
return timeToLive;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Token::setTimeToLive(int timeToLive) {
|
||||||
|
Token::timeToLive = timeToLive;
|
||||||
|
}
|
||||||
|
|
||||||
|
int Token::getAuthErrors() const {
|
||||||
|
return authErrors;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Token::setAuthErrors(int authErrors) {
|
||||||
|
Token::authErrors = authErrors;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QSet<QString> &Token::getFlags() const {
|
||||||
|
return flags;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Token::setFlags(const QSet<QString> &flags) {
|
||||||
|
Token::flags = flags;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QUuid &Token::getSubjectId() const {
|
||||||
|
return subjectId;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Token::setSubjectId(const QUuid &subjectId) {
|
||||||
|
Token::subjectId = subjectId;
|
||||||
|
}
|
||||||
48
src/colnod/token.h
Normal file
48
src/colnod/token.h
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#ifndef COLNOD_CONNECTOR_TOKEN_H
|
||||||
|
#define COLNOD_CONNECTOR_TOKEN_H
|
||||||
|
|
||||||
|
#include "entity.h"
|
||||||
|
|
||||||
|
#include <QSet>
|
||||||
|
|
||||||
|
|
||||||
|
class Token : public Entity {
|
||||||
|
public:
|
||||||
|
// using Entity::Entity;
|
||||||
|
|
||||||
|
const QString &getTokenType() const;
|
||||||
|
void setTokenType(const QString &tokenType);
|
||||||
|
int getTokenBits() const;
|
||||||
|
void setTokenBits(int tokenBits);
|
||||||
|
const QString &getTokenData() const;
|
||||||
|
void setTokenData(const QString &tokenData);
|
||||||
|
qint64 getValidFrom() const;
|
||||||
|
void setValidFrom(qint64 validFrom);
|
||||||
|
qint64 getValidTo() const;
|
||||||
|
void setValidTo(qint64 validTo);
|
||||||
|
int getTimeToLive() const;
|
||||||
|
void setTimeToLive(int timeToLive);
|
||||||
|
int getAuthErrors() const;
|
||||||
|
void setAuthErrors(int authErrors);
|
||||||
|
const QSet<QString> &getFlags() const;
|
||||||
|
void setFlags(const QSet<QString> &flags);
|
||||||
|
const QUuid &getSubjectId() const;
|
||||||
|
void setSubjectId(const QUuid &subjectId);
|
||||||
|
|
||||||
|
|
||||||
|
void fromJSON(const QJsonObject &json) override;
|
||||||
|
QJsonObject toJSON() const override;
|
||||||
|
protected:
|
||||||
|
QString tokenType;
|
||||||
|
int tokenBits;
|
||||||
|
QString tokenData;
|
||||||
|
qint64 validFrom;
|
||||||
|
qint64 validTo;
|
||||||
|
int timeToLive;
|
||||||
|
int authErrors;
|
||||||
|
QSet<QString> flags;
|
||||||
|
QUuid subjectId;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif //COLNOD_CONNECTOR_TOKEN_H
|
||||||
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"host": "https://localhost:8080",
|
"host": "https://192.168.1.3",
|
||||||
"username": "spaceti",
|
"username": "spaceti",
|
||||||
"password": "SuperSecretPassword"
|
"password": "spaceti1"
|
||||||
}
|
}
|
||||||
58
src/subjects.json
Normal file
58
src/subjects.json
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
"items":[
|
||||||
|
{
|
||||||
|
"id":"6d809c12-3255-4b0a-bf8f-3af86912a40f",
|
||||||
|
"name":"Person2",
|
||||||
|
"description":"",
|
||||||
|
"lastUpdate":1543843828247,
|
||||||
|
"attributes":{
|
||||||
|
"items":{
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tokenFlags":[
|
||||||
|
"NoPin"
|
||||||
|
],
|
||||||
|
"pin":"",
|
||||||
|
"pinFlags":[
|
||||||
|
"Access"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id":"1a23c502-1665-4492-94ea-039bb7505cae",
|
||||||
|
"name":"Person3",
|
||||||
|
"description":"",
|
||||||
|
"lastUpdate":1553868160516,
|
||||||
|
"attributes":{
|
||||||
|
"items":{
|
||||||
|
"email":"person3@gmail.com"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tokenFlags":[
|
||||||
|
"NoPin"
|
||||||
|
],
|
||||||
|
"pin":"",
|
||||||
|
"pinFlags":[
|
||||||
|
"Access"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id":"7ad58bd8-a1ec-40b4-a54f-347ee6a4ba29",
|
||||||
|
"name":"Person1",
|
||||||
|
"description":"",
|
||||||
|
"lastUpdate":1560786050717,
|
||||||
|
"attributes":{
|
||||||
|
"items":{
|
||||||
|
"email":"person1@gmail.com"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tokenFlags":[
|
||||||
|
"NoPin"
|
||||||
|
],
|
||||||
|
"pin":"",
|
||||||
|
"pinFlags":[
|
||||||
|
"Access"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -1,66 +1,175 @@
|
|||||||
#include "unittest.h"
|
#include "unittest.h"
|
||||||
|
|
||||||
void UnitTest::loginSuccessfully()
|
void UnitTest::loginSuccessfully()
|
||||||
{
|
{
|
||||||
RequestManager* testAccess = new RequestManager();
|
RequestManager* testAccess = new RequestManager();
|
||||||
QJsonDocument config = testAccess->getConfig();
|
QJsonDocument config = testAccess->getConfig();
|
||||||
QSignalSpy spy(testAccess, SIGNAL(successLogin()));
|
QSignalSpy spy(testAccess, SIGNAL(successLogin()));
|
||||||
testAccess->login(host, email, password);
|
testAccess->login(host, email, password);
|
||||||
spy.wait();
|
spy.wait();
|
||||||
QVERIFY(spy.isValid());
|
QVERIFY(spy.isValid());
|
||||||
QCOMPARE(spy.count(), 1);
|
QCOMPARE(spy.count(), 1);
|
||||||
QString json = testAccess->getResponse();
|
QString json = testAccess->getResponse();
|
||||||
qDebug() << json;
|
qDebug() << json;
|
||||||
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
||||||
QVERIFY2(doc["id"].isString(), "No parameter 'id' in response");
|
QVERIFY2(doc.object().value("id").isString(), "No parameter 'id' in response");
|
||||||
}
|
}
|
||||||
|
|
||||||
//POST request w/o datas
|
//POST request w/o datas
|
||||||
void UnitTest::getSubjects()
|
void UnitTest::getSubjects()
|
||||||
{
|
{
|
||||||
RequestManager* testAccess = new RequestManager();
|
RequestManager* testAccess = new RequestManager();
|
||||||
testAccess->login(host, email, password);
|
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
|
||||||
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
|
testAccess->getRequest("/SubjectManager/getSubjects");
|
||||||
testAccess->getRequest("/SubjectManager/getSubjects");
|
spy.wait();
|
||||||
spy.wait();
|
QVERIFY(spy.isValid());
|
||||||
QVERIFY(spy.isValid());
|
QCOMPARE(spy.count(), 1);
|
||||||
QCOMPARE(spy.count(), 1);
|
QString json = testAccess->getResponse();
|
||||||
QString json = testAccess->getResponse();
|
qDebug() << json;
|
||||||
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
QJsonDocument doc = QJsonDocument::fromJson(json.toUtf8());
|
||||||
QVERIFY(doc.isObject());
|
QVERIFY(doc.isObject());
|
||||||
QVERIFY2(doc["items"].isArray(), "No parameter 'id' in response");
|
QVERIFY2(doc.object().value("items").isArray(), "No parameter 'id' in response");
|
||||||
qDebug() << doc["items"].toArray()[0].toObject()["id"].toString();
|
qDebug() << doc.object().value("items").toArray()[0].toObject()["id"].toString();
|
||||||
QVERIFY2(doc["items"].toArray()[0].toObject()["id"].isString(), "ada");
|
QVERIFY2(doc.object().value("items").toArray()[0].toObject()["id"].isString(), "ada");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void UnitTest::getTokens()
|
void UnitTest::getTokens()
|
||||||
{
|
{
|
||||||
RequestManager* testAccess = new RequestManager();
|
RequestManager* testAccess = new RequestManager();
|
||||||
testAccess->login(host, email, password);
|
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
|
||||||
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
|
testAccess->getRequest("/TokenManager/getTokens");
|
||||||
testAccess->getRequest("/TokenManager/getTokens");
|
QCOMPARE(spy.count(), 0);
|
||||||
QCOMPARE(spy.count(), 0);
|
spy.wait();
|
||||||
spy.wait();
|
QVERIFY(spy.isValid());
|
||||||
QVERIFY(spy.isValid());
|
QCOMPARE(spy.count(), 1);
|
||||||
QCOMPARE(spy.count(), 1);
|
qDebug() << testAccess->getResponse();
|
||||||
qDebug() << testAccess->getResponse();
|
}
|
||||||
}
|
|
||||||
|
void UnitTest::getTokensOpenManager()
|
||||||
void UnitTest::getTokensOpenManager()
|
{
|
||||||
{
|
RequestManager* testAccess = new RequestManager();
|
||||||
RequestManager* testAccess = new RequestManager();
|
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
|
||||||
testAccess->login(host, email, password);
|
testAccess->getRequest("/OpenManager/getTokenSubject");
|
||||||
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
|
QCOMPARE(spy.count(), 0);
|
||||||
testAccess->getRequest("/OpenManager/getTokenSubject");
|
spy.wait();
|
||||||
QCOMPARE(spy.count(), 0);
|
QVERIFY(spy.isValid());
|
||||||
spy.wait();
|
QCOMPARE(spy.count(), 1);
|
||||||
QVERIFY(spy.isValid());
|
QString response = testAccess->getResponse();
|
||||||
QCOMPARE(spy.count(), 1);
|
qDebug() << response;
|
||||||
QString response = testAccess->getResponse();
|
QVERIFY(!response.isEmpty());
|
||||||
QVERIFY(!response.isEmpty());
|
}
|
||||||
qDebug() << response;
|
|
||||||
}
|
void UnitTest::subjectJSONParser()
|
||||||
|
{
|
||||||
|
/*
|
||||||
QTEST_MAIN(UnitTest)
|
QFile jsonData(QDir::current().filePath("subjects.json"));
|
||||||
|
|
||||||
|
if (!jsonData.open(QIODevice::ReadOnly)) {
|
||||||
|
qCritical() << "Couldn't open config file config.json" << QDir::current().filePath("subjects.json");
|
||||||
|
QCoreApplication::exit(-1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QJsonDocument doc = QJsonDocument::fromJson(jsonData.readAll());
|
||||||
|
QJsonObject obj = doc.object();
|
||||||
|
QJsonArray arr = obj["items"].toArray();
|
||||||
|
*/
|
||||||
|
QVERIFY(true);
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
RequestManager* testAccess = new RequestManager();
|
||||||
|
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
|
||||||
|
testAccess->getRequest("/SubjectManager/getSubjects");
|
||||||
|
spy.wait();
|
||||||
|
QString response = testAccess->getResponse();
|
||||||
|
QJsonDocument doc = QJsonDocument::fromJson(response.toUtf8());
|
||||||
|
QJsonArray arr = doc.object()["items"].toArray();
|
||||||
|
auto testSubject = new Subject();
|
||||||
|
testSubject->fromJSON(arr[1].toObject());
|
||||||
|
qDebug() << testSubject->getName() << " Size: " << arr.size();
|
||||||
|
QVERIFY(!testSubject->getName().isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
void UnitTest::tokenJSONParser()
|
||||||
|
{
|
||||||
|
RequestManager* testAccess = new RequestManager();
|
||||||
|
QSignalSpy spy(testAccess, SIGNAL(responseReady()));
|
||||||
|
testAccess->getRequest("/TokenManager/getTokens");
|
||||||
|
spy.wait();
|
||||||
|
QString response = testAccess->getResponse();
|
||||||
|
|
||||||
|
//TODO
|
||||||
|
/* QJsonDocument doc = QJsonDocument::fromJson(response.toUtf8());
|
||||||
|
QJsonArray arr = doc.object()["items"].toArray();
|
||||||
|
auto testSubject = new Subject();
|
||||||
|
testSubject->fromJSON(arr[1].toObject());
|
||||||
|
qDebug() << testSubject->getName();
|
||||||
|
QVERIFY(!testSubject->getName().isEmpty());*/
|
||||||
|
QVERIFY(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void UnitTest::connectToDB()
|
||||||
|
{
|
||||||
|
DatabaseManager *db = new DatabaseManager("192.168.1.94", "deloitte", "postgres", "34rjkciea12");
|
||||||
|
QVERIFY(db->getOpened());
|
||||||
|
qDebug() << db->getTestMessage(1);
|
||||||
|
QVERIFY(true);
|
||||||
|
QCOMPARE(db->getTestMessage(1), "Hello world");
|
||||||
|
db->createTestRecord("Does it work?");
|
||||||
|
QCOMPARE(db->getTestMessage(2), "Does it work?");
|
||||||
|
}
|
||||||
|
|
||||||
|
void UnitTest::debugConnection()
|
||||||
|
{
|
||||||
|
QSslSocket ssl;// = new QSslSocket();
|
||||||
|
ssl.connectToHostEncrypted("192.168.1.3", 8443);
|
||||||
|
ssl.ignoreSslErrors();
|
||||||
|
if (!ssl.waitForEncrypted())
|
||||||
|
{
|
||||||
|
qDebug() << ssl.errorString();
|
||||||
|
}
|
||||||
|
QString tmp = "POST /AaaManager/authSession HTTP/1.1\r\nHost: 192.168.1.3:8443\r\nAuthorization: Basic c3BhY2V0aTpFN0ZFQTA3REJDODJGQjlCQTM0QjJFNDUzRTJFRkU4OUYwNTgzRTcxODc1NDM1MDdFRjExRTg0NzI2MDcxRkU0Mjg0NDUzNzJGMkU0NkI0NTVFQjBDNzk3NDdDNTFFMzYyRjQwM0NFMzk0NzNBMkE4QzJERkEwQ0U1Qzk4MjZDMA==\r\nUser-Agent: curl/7.65.3\r\nAccept: */*\r\nContent-Type: application/json\r\nContent-Length: 164\r\n\r\n{\"password\":\"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0\",\"username\":\"spaceti\"}";
|
||||||
|
/*POST /AaaManager/authSession HTTP/1.1
|
||||||
|
Host: localhost:8080
|
||||||
|
Authorization: Basic c3BhY2V0aTpFN0ZFQTA3REJDODJGQjlCQTM0QjJFNDUzRTJFRkU4OUYwNTgzRTcxODc1NDM1MDdFRjExRTg0NzI2MDcxRkU0Mjg0NDUzNzJGMkU0NkI0NTVFQjBDNzk3NDdDNTFFMzYyRjQwM0NFMzk0NzNBMkE4QzJERkEwQ0U1Qzk4MjZDMA==
|
||||||
|
User-Agent: curl/7.65.3
|
||||||
|
Accept:
|
||||||
|
Content-Type: application/json
|
||||||
|
Content-Length: 164
|
||||||
|
|
||||||
|
{"password":"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0","username":"spaceti"}*/
|
||||||
|
qDebug() << tmp.toUtf8();
|
||||||
|
ssl.write(tmp.toUtf8());
|
||||||
|
QString data;
|
||||||
|
while (ssl.waitForReadyRead() && data.isEmpty())
|
||||||
|
{
|
||||||
|
data.append(ssl.readAll().data());
|
||||||
|
}
|
||||||
|
qDebug() << data;
|
||||||
|
int index = data.lastIndexOf("id");
|
||||||
|
QString tkn = data.mid( index + 5, 36);
|
||||||
|
tkn = tkn + ":";
|
||||||
|
qDebug() << "parsed token : " <<tkn;
|
||||||
|
/*
|
||||||
|
RequestManager* testAccess = new RequestManager();
|
||||||
|
QJsonDocument config = testAccess->getConfig();
|
||||||
|
QSignalSpy spy(testAccess, SIGNAL(successLogin()));
|
||||||
|
testAccess->login(host, email, password);
|
||||||
|
spy.wait();
|
||||||
|
|
||||||
|
QString token = testAccess->getToken();
|
||||||
|
token = token + ":";*/
|
||||||
|
tmp = "POST /SubjectManager/getSubjects\r\nHTTP/1.1 Host: 192.168.1.3:8443\r\nAuthorization: Basic " + tkn.toUtf8().toBase64() + "\r\nUser-Agent: curl/7.65.3\r\nAccept: */*)";
|
||||||
|
qDebug() << tmp.toUtf8();
|
||||||
|
ssl.write(tmp.toUtf8());
|
||||||
|
while (ssl.waitForReadyRead())
|
||||||
|
qDebug() << ssl.readAll().data();
|
||||||
|
|
||||||
|
QVERIFY(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QTEST_MAIN(UnitTest)
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"host": "https://localhost:8080",
|
"host": "https://192.168.1.3:8443",
|
||||||
"username": "spaceti",
|
"username": "spaceti",
|
||||||
"password": "SuperSecretPassword"
|
"password": "spaceti1"
|
||||||
}
|
}
|
||||||
@ -1,26 +1,32 @@
|
|||||||
#pragma once
|
|
||||||
|
#pragma once
|
||||||
#include <QtTest/QtTest>
|
|
||||||
#include <QSignalSpy>
|
#include <QtTest/QtTest>
|
||||||
#include <requestmanager.h>
|
#include <QSignalSpy>
|
||||||
|
#include <requestmanager.h>
|
||||||
|
#include "subject.h"
|
||||||
class UnitTest : public QObject
|
#include "databasemanager.h"
|
||||||
{
|
#include <QSslSocket>
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
private slots:
|
class UnitTest : public QObject
|
||||||
|
{
|
||||||
void loginSuccessfully();
|
Q_OBJECT
|
||||||
|
|
||||||
|
private slots:
|
||||||
void getTokens();
|
|
||||||
void getTokensOpenManager();
|
void loginSuccessfully(); // /AaaManager/authSession
|
||||||
void getSubjects();
|
void getSubjects(); // /SubjectManager/getSubjects
|
||||||
|
void getTokens(); // /TokenManager/getTokens
|
||||||
private:
|
void getTokensOpenManager(); // /OpenManager/getTokenSubject
|
||||||
// QString host = "https://localhost:8080"; //colnod server (ssh -L 8080:192.168.254.11:8443 penta-master)
|
void subjectJSONParser();
|
||||||
QString host = "https://192.168.1.3:8443"; //local testing server
|
void tokenJSONParser();
|
||||||
QString password = "spaceti1";
|
void connectToDB();
|
||||||
QString email = "spaceti";
|
void debugConnection();
|
||||||
};
|
|
||||||
|
private:
|
||||||
|
//QString host = "http://localhost:8080"; //colnod server (ssh -L 8080:192.168.254.11:8443 penta-master)
|
||||||
|
QString host = "https://192.168.1.3:8443"; //local testing server
|
||||||
|
QString password = "spaceti1";
|
||||||
|
QString email = "spaceti";
|
||||||
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user