- [Arguments] ${expected_normalized} ${filename}
- [Documentation] Get current example-ipv4-topology as json, normalize it, save to ${ACTUAL_RESPONSES_FOLDER}.
- ... Check that status code is 200, check that normalized jsons match exactly.
- ${response}= RequestsLibrary.Get Request operational topology/example-ipv4-topology
- BuiltIn.Log ${response.status_code}
- BuiltIn.Log ${response.text}
- ${actual_normalized}= Normalize_And_Save_Expected_Json ${response.text} ${filename} ${ACTUAL_RESPONSES_FOLDER}
- BuiltIn.Should_Be_Equal_As_Strings ${response.status_code} 200
- BuiltIn.Should_Be_Equal ${actual_normalized} ${expected_normalized}
-
-Normalize_And_Save_Expected_Json
- [Arguments] ${json_text} ${filename} ${directory}
- [Documentation] Normalize given json using hsf_json library. Log and save the result to given filename under given directory.
- ${json_normalized}= hsf_json.Hsf_Json ${json_text}
- BuiltIn.Log ${json_normalized}
- OperatingSystem.Create_File ${directory}${/}${filename} ${json_normalized}
- # TODO: Should we prepend .json to the filename? When we detect it is not already prepended?
- [Return] ${json_normalized}
-
-Read_And_Fail_If_Prompt_Is_Seen
- [Documentation] Try to read SSH to see prompt, but expect to see no prompt within SSHLibrary's timeout.
- ${passed}= BuiltIn.Run_Keyword_And_Return_Status BuiltIn.Run_Keyword_And_Expect_Error No match found for '${TOOLS_SYSTEM_PROMPT}' in *. Read_Text_Before_Prompt
- BuiltIn.Return_From_Keyword_If ${passed}
- BGPSpeaker.Dump_BGP_Speaker_Logs
- Builtin.Fail The prompt was seen but it was not expected yet
-
-Read_Text_Before_Prompt
- [Documentation] Log text gathered by SSHLibrary.Read_Until_Prompt.
- ... This needs to be a separate keyword just because how Read_And_Fail_If_Prompt_Is_Seen is implemented.
- ${text}= SSHLibrary.Read_Until_Prompt
- BuiltIn.Log ${text}
-
-Store_File_To_Workspace
- [Arguments] ${source_file_name} ${target_file_name}
- [Documentation] Store the ${source_file_name} to the workspace as ${target_file_name}.
- ${output_log}= SSHLibrary.Execute_Command cat ${source_file_name}
- BuiltIn.Log ${output_log}
- Create File ${target_file_name} ${output_log}
-
-Check_File_For_Word_Count
- [Arguments] ${file_name} ${word} ${expected_count}
- [Documentation] Count ${word} in ${file_name}. Expect ${expected_count} occurence(s)
- ${output_log}= SSHLibrary.Execute_Command grep -o '${word}' ${file_name} | wc -l
- BuiltIn.Log ${output_log}
- BuiltIn.Should_Be_Equal_As_Strings ${output_log} ${expected_count}