From 820235ce87137a15364d61276617d10844e3c35f Mon Sep 17 00:00:00 2001 From: JvD_Ericsson Date: Mon, 22 Jan 2024 13:32:34 +0000 Subject: Add retry mechanism instead of sleep - replaced sleeps with retry mechanism - removed unnecessary sleeps before polling - changed formatting Issue-ID: CPS-1093 Signed-off-by: JvD_Ericsson Change-Id: I7e26570eeedea09fd36f9c9bce87c4cd45906aa9 --- csit/tests/cps-data-sync/cps-data-sync.robot | 38 +++++++++++++++++++++------- 1 file changed, 29 insertions(+), 9 deletions(-) (limited to 'csit/tests/cps-data-sync') diff --git a/csit/tests/cps-data-sync/cps-data-sync.robot b/csit/tests/cps-data-sync/cps-data-sync.robot index 71de4be1f..c0ee4da67 100644 --- a/csit/tests/cps-data-sync/cps-data-sync.robot +++ b/csit/tests/cps-data-sync/cps-data-sync.robot @@ -34,20 +34,40 @@ ${auth} Basic Y3BzdXNlcjpjcHNyMGNrcyE= ${ncmpBasePath} /ncmp *** Test Cases *** + +Check if ietfYang-PNFDemo is READY + ${uri}= Set Variable ${ncmpBasePath}/v1/ch/ietfYang-PNFDemo + ${headers}= Create Dictionary Authorization=${auth} + Wait Until Keyword Succeeds 10sec 100ms Is CM Handle READY ${uri} ${headers} ietfYang-PNFDemo + Operational state goes to UNSYNCHRONIZED when data sync (flag) is enabled ${uri}= Set Variable ${ncmpBasePath}/v1/ch/ietfYang-PNFDemo/data-sync ${params}= Create Dictionary dataSyncEnabled=true ${headers}= Create Dictionary Authorization=${auth} ${response}= PUT On Session CPS_URL ${uri} params=${params} headers=${headers} Should Be Equal As Strings ${response.status_code} 200 - ${verifyUri}= Set Variable ${ncmpBasePath}/v1/ch/ietfYang-PNFDemo/state - ${verifyHeaders}= Create Dictionary Authorization=${auth} - ${verifyResponse}= GET On Session CPS_URL ${verifyUri} headers=${verifyHeaders} - Should Be Equal As Strings ${verifyResponse.json()['state']['dataSyncState']['operational']['syncState']} UNSYNCHRONIZED - Sleep 5 + ${verifyUri}= Set Variable ${ncmpBasePath}/v1/ch/ietfYang-PNFDemo/state + ${verifyHeaders}= Create Dictionary Authorization=${auth} + ${verifyResponse}= GET On Session CPS_URL ${verifyUri} headers=${verifyHeaders} + Should Be Equal As Strings ${verifyResponse.json()['state']['dataSyncState']['operational']['syncState']} UNSYNCHRONIZED Operational state goes to SYNCHRONIZED after sometime when data sync (flag) is enabled - ${uri}= Set Variable ${ncmpBasePath}/v1/ch/ietfYang-PNFDemo/state - ${headers}= Create Dictionary Authorization=${auth} - ${response}= GET On Session CPS_URL ${uri} headers=${headers} - Should Be Equal As Strings ${response.json()['state']['dataSyncState']['operational']['syncState']} SYNCHRONIZED \ No newline at end of file + ${uri}= Set Variable ${ncmpBasePath}/v1/ch/ietfYang-PNFDemo/state + ${headers}= Create Dictionary Authorization=${auth} + Wait Until Keyword Succeeds 10sec 100ms Is CM Handle State SYNCHRONIZED ${uri} ${headers} + +*** Keywords *** +Is CM Handle READY + [Arguments] ${uri} ${headers} ${cmHandle} + ${response}= GET On Session CPS_URL ${uri} headers=${headers} + Should Be Equal As Strings ${response.status_code} 200 + FOR ${item} IN ${response.json()} + IF "${item['cmHandle']}" == "${cmHandle}" + Should Be Equal As Strings ${item['state']['cmHandleState']} READY + END + END + +Is CM Handle State SYNCHRONIZED + [Arguments] ${uri} ${headers} + ${response}= GET On Session CPS_URL ${uri} headers=${headers} + Should Be Equal As Strings ${response.json()['state']['dataSyncState']['operational']['syncState']} SYNCHRONIZED -- cgit 1.2.3-korg