From f05a5032d369a9cf9052bf82ed62bad5cc4ee68b Mon Sep 17 00:00:00 2001 From: Bruno Sakoto Date: Wed, 3 Mar 2021 18:27:54 -0500 Subject: Add basic authentication security Endpoints exposed outside from the cluster require basic authentication except actuator health and info endpoints. Default user credentials are embedded in the application, they can be overridden with system environment properties. Issue-ID: CPS-175 Signed-off-by: Bruno Sakoto Change-Id: I3dfa0e49e5f4538c923e6bbe9bef976d30359fe6 --- csit/tests/cps-admin/cps-admin.robot | 16 +++++++++++----- csit/tests/cps-data/cps-data.robot | 6 ++++-- 2 files changed, 15 insertions(+), 7 deletions(-) (limited to 'csit') diff --git a/csit/tests/cps-admin/cps-admin.robot b/csit/tests/cps-admin/cps-admin.robot index 446a59b86..0e07f38aa 100644 --- a/csit/tests/cps-admin/cps-admin.robot +++ b/csit/tests/cps-admin/cps-admin.robot @@ -9,6 +9,7 @@ Suite Setup Create Session CPS_HOST ${CPS_HOST} *** Variables *** +${auth} Basic Y3BzdXNlcjpjcHNyMGNrcyE= ${basePath} /cps/api ${dataspaceName} CSIT-Dataspace ${schemaSetName} CSIT-SchemaSet @@ -18,7 +19,8 @@ ${anchorName} CSIT-Anchor Create Dataspace ${uri}= Set Variable ${basePath}/v1/dataspaces ${params}= Create Dictionary dataspace-name=${dataspaceName} - ${response}= POST On Session CPS_HOST ${uri} params=${params} + ${headers}= Create Dictionary Authorization=${auth} + ${response}= POST On Session CPS_HOST ${uri} params=${params} headers=${headers} Should Be Equal As Strings ${response.status_code} 201 Create Schema Set from YANG file @@ -27,7 +29,8 @@ Create Schema Set from YANG file ${fileData}= Get Binary File ${DATADIR}${/}test-tree.yang ${fileTuple}= Create List test.yang ${fileData} application/zip &{files}= Create Dictionary file=${fileTuple} - ${response}= POST On Session CPS_HOST ${uri} files=${files} params=${params} + ${headers}= Create Dictionary Authorization=${auth} + ${response}= POST On Session CPS_HOST ${uri} files=${files} params=${params} headers=${headers} Should Be Equal As Strings ${response.status_code} 201 Create Schema Set from ZIP file @@ -36,12 +39,14 @@ Create Schema Set from ZIP file ${fileData}= Get Binary File ${DATADIR}${/}yang-resources.zip ${fileTuple}= Create List test.zip ${fileData} application/zip &{files}= Create Dictionary file=${fileTuple} - ${response}= POST On Session CPS_HOST ${uri} files=${files} params=${params} + ${headers}= Create Dictionary Authorization=${auth} + ${response}= POST On Session CPS_HOST ${uri} files=${files} params=${params} headers=${headers} Should Be Equal As Strings ${response.status_code} 201 Get Schema Set info ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/schema-sets/${schemaSetName} - ${response}= Get On Session CPS_HOST ${uri} expected_status=200 + ${headers}= Create Dictionary Authorization=${auth} + ${response}= Get On Session CPS_HOST ${uri} headers=${headers} expected_status=200 ${responseJson}= Set Variable ${response.json()} Should Be Equal As Strings ${responseJson['name']} ${schemaSetName} Should Be Equal As Strings ${responseJson['dataspaceName']} ${dataspaceName} @@ -49,5 +54,6 @@ Get Schema Set info Create Anchor ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/anchors ${params}= Create Dictionary schema-set-name=${schemaSetName} anchor-name=${anchorName} - ${response}= POST On Session CPS_HOST ${uri} params=${params} + ${headers}= Create Dictionary Authorization=${auth} + ${response}= POST On Session CPS_HOST ${uri} params=${params} headers=${headers} Should Be Equal As Strings ${response.status_code} 201 \ No newline at end of file diff --git a/csit/tests/cps-data/cps-data.robot b/csit/tests/cps-data/cps-data.robot index 8b0202b3b..ff1e8d048 100644 --- a/csit/tests/cps-data/cps-data.robot +++ b/csit/tests/cps-data/cps-data.robot @@ -9,6 +9,7 @@ Suite Setup Create Session CPS_HOST ${CPS_HOST} *** Variables *** +${auth} Basic Y3BzdXNlcjpjcHNyMGNrcyE= ${basePath} /cps/api ${dataspaceName} CSIT-Dataspace ${anchorName} CSIT-Anchor @@ -16,7 +17,7 @@ ${anchorName} CSIT-Anchor *** Test Cases *** Create Data Node ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/anchors/${anchorName}/nodes - ${headers} Create Dictionary Content-Type=application/json + ${headers} Create Dictionary Content-Type=application/json Authorization=${auth} ${jsonData}= Get Binary File ${DATADIR}${/}test-tree.json ${response}= POST On Session CPS_HOST ${uri} headers=${headers} data=${jsonData} Should Be Equal As Strings ${response.status_code} 201 @@ -24,7 +25,8 @@ Create Data Node Get Data Node by XPath ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/anchors/${anchorName}/node ${params}= Create Dictionary xpath=/test-tree/branch[@name='Left']/nest - ${response}= Get On Session CPS_HOST ${uri} params=${params} expected_status=200 + ${headers}= Create Dictionary Authorization=${auth} + ${response}= Get On Session CPS_HOST ${uri} params=${params} headers=${headers} expected_status=200 ${responseJson}= Set Variable ${response.json()} Should Be Equal As Strings ${responseJson['name']} Small -- cgit 1.2.3-korg