Add first work package for REST API implementation
[anna.git] / example / diameter / launcher / resources / rest_api / ct / snapshots / context_test.py
diff --git a/example/diameter/launcher/resources/rest_api/ct/snapshots/context_test.py b/example/diameter/launcher/resources/rest_api/ct/snapshots/context_test.py
new file mode 100644 (file)
index 0000000..1aa8b17
--- /dev/null
@@ -0,0 +1,34 @@
+import pytest
+import re
+
+
+def test_001_given_a_target_file_i_want_to_dump_the_adml_context(admlc):
+
+  requestBody = { "targetFile":"/tmp/context.xml" }
+  responseBodyRef = { "success":"true", "response":"Context dumped on file '/tmp/context.xml'" }
+
+  # Send POST
+  response = admlc.postDict("/context", requestBody)
+
+  # Verify response
+  admlc.assert_response__status_body_headers(response, 200, responseBodyRef)
+
+def test_002_missing_a_target_file_i_want_to_dump_the_adml_context_at_default_location(admlc, mylogger):
+
+  requestBody = { "targetFile":"" }
+  responseBodyRef = { "success":"true", "response":"Context dumped on file '/tmp/context.xml'" }
+
+  # Send POST
+  response = admlc.postDict("/context", requestBody)
+
+  # Verify response is ok (omit response content because it is informative and have dynamic data (timing)):
+  assert response["status"] == 200
+  assert response["body"]["success"] == "true"
+
+  body_response = response["body"]["response"]
+  pattern = "Context dumped on file '/var/tmp/anna.context.[0-9]*'"
+  result = re.match(pattern, body_response)
+  if not result:
+    mylogger.error("Body response \"" + body_response + "\" does not match the pattern \"" + pattern + "\"")
+
+  assert result