summaryrefslogtreecommitdiff
path: root/tests/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'tests/protocol')
-rw-r--r--tests/protocol/test_hostplugin.py4
-rw-r--r--tests/protocol/test_wire.py34
2 files changed, 36 insertions, 2 deletions
diff --git a/tests/protocol/test_hostplugin.py b/tests/protocol/test_hostplugin.py
index 3b99050..1298fdc 100644
--- a/tests/protocol/test_hostplugin.py
+++ b/tests/protocol/test_hostplugin.py
@@ -65,7 +65,7 @@ class TestHostPlugin(AgentTestCase):
wire_protocol_client.get_goal_state = Mock(return_value=test_goal_state)
plugin = wire_protocol_client.get_host_plugin()
blob = wire_protocol_client.status_blob
- blob.vm_status = restapi.VMStatus()
+ blob.vm_status = restapi.VMStatus(message="Ready", status="Ready")
blob.data = '{"dummy": "data"}'
with patch.object(plugin, 'get_api_versions') as patch_api:
patch_api.return_value = API_VERSION
@@ -117,7 +117,7 @@ class TestHostPlugin(AgentTestCase):
self.assertFalse(host_client.is_initialized)
self.assertTrue(host_client.api_versions is None)
status_blob = wire.StatusBlob(None)
- status_blob.vm_status = restapi.VMStatus()
+ status_blob.vm_status = restapi.VMStatus(message="Ready", status="Ready")
status_blob.data = '{"dummy": "data"}'
status_blob.type = "BlockBlob"
with patch.object(wire.HostPluginProtocol,
diff --git a/tests/protocol/test_wire.py b/tests/protocol/test_wire.py
index 8c9cc02..e083678 100644
--- a/tests/protocol/test_wire.py
+++ b/tests/protocol/test_wire.py
@@ -270,6 +270,40 @@ class TestWireProtocolGetters(AgentTestCase):
self.assertTrue(in_vm_artifacts_profile.is_on_hold())
artifact_request.assert_called_once_with(testurl)
+ @patch("socket.gethostname", return_value="hostname")
+ @patch("time.gmtime", return_value=time.localtime(1485543256))
+ def test_report_vm_status(self, *args):
+ status = 'status'
+ message = 'message'
+
+ client = WireProtocol(wireserver_url).client
+ actual = StatusBlob(client=client)
+ actual.set_vm_status(VMStatus(status=status, message=message))
+ timestamp = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())
+
+ formatted_msg = {
+ 'lang': 'en-US',
+ 'message': message
+ }
+ v1_ga_status = {
+ 'version': str(CURRENT_VERSION),
+ 'status': status,
+ 'osversion': DISTRO_VERSION,
+ 'osname': DISTRO_NAME,
+ 'hostname': socket.gethostname(),
+ 'formattedMessage': formatted_msg
+ }
+ v1_agg_status = {
+ 'guestAgentStatus': v1_ga_status,
+ 'handlerAggregateStatus': []
+ }
+ v1_vm_status = {
+ 'version': '1.1',
+ 'timestampUTC': timestamp,
+ 'aggregateStatus': v1_agg_status
+ }
+ self.assertEqual(json.dumps(v1_vm_status), actual.to_json())
+
class MockResponse:
def __init__(self, body, status_code):