← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~gz/maas/move_update_hardware_details_tests into lp:maas

 

Martin Packman has proposed merging lp:~gz/maas/move_update_hardware_details_tests into lp:maas with lp:~gz/maas/populate_tags as a prerequisite.

Requested reviews:
  MAAS Maintainers (maas-maintainers)

For more details, see:
https://code.launchpad.net/~gz/maas/move_update_hardware_details_tests/+merge/126226

Simple cleanup of tests added in earlier branches. Moves tests that are really about Node to maasserver.tests.test_node and leaves just the bits verifying that the right thing gets called on metadataserver.tests.test_api. I'd like to just verify the right method on Node got called, but don't want to stub out the method really, so have faked it by checking that memory gets reset to zero.
-- 
https://code.launchpad.net/~gz/maas/move_update_hardware_details_tests/+merge/126226
Your team MAAS Maintainers is requested to review the proposed merge of lp:~gz/maas/move_update_hardware_details_tests into lp:maas.
=== modified file 'src/maasserver/tests/test_node.py'
--- src/maasserver/tests/test_node.py	2012-09-24 11:19:14 +0000
+++ src/maasserver/tests/test_node.py	2012-09-25 11:24:31 +0000
@@ -454,6 +454,47 @@
         node.set_hardware_details(xmlbytes)
         self.assertEqual(xmlbytes, node.hardware_details)
 
+    def test_hardware_updates_cpu_count(self):
+        node = factory.make_node()
+        xmlbytes = (
+            '<node id="core">'
+                '<node id="cpu:0" class="processor"/>'
+                '<node id="cpu:1" class="processor"/>'
+            '</node>')
+        node.set_hardware_details(xmlbytes)
+        node = reload_object(node)
+        self.assertEqual(2, node.cpu_count)
+
+    def test_hardware_updates_memory(self):
+        node = factory.make_node()
+        xmlbytes = (
+            '<node id="memory">'
+                '<size units="bytes">4294967296</size>'
+            '</node>')
+        node.set_hardware_details(xmlbytes)
+        node = reload_object(node)
+        self.assertEqual(4096, node.memory)
+
+    def test_hardware_updates_tags_match(self):
+        tag1 = factory.make_tag(factory.getRandomString(10), "/node")
+        tag2 = factory.make_tag(factory.getRandomString(10), "//node")
+        node = factory.make_node()
+        xmlbytes = '<node/>'
+        node.set_hardware_details(xmlbytes)
+        node = reload_object(node)
+        self.assertEqual([tag1, tag2], list(node.tags.all()))
+
+    def test_hardware_updates_tags_no_match(self):
+        tag1 = factory.make_tag(factory.getRandomString(10), "/missing")
+        tag2 = factory.make_tag(factory.getRandomString(10), "/nothing")
+        node = factory.make_node()
+        node.tags = [tag2]
+        node.save()
+        xmlbytes = '<node/>'
+        node.set_hardware_details(xmlbytes)
+        node = reload_object(node)
+        self.assertEqual([], list(node.tags.all()))
+
 
 class NodeTransitionsTests(TestCase):
     """Test the structure of NODE_TRANSITIONS."""

=== modified file 'src/metadataserver/tests/test_api.py'
--- src/metadataserver/tests/test_api.py	2012-09-25 11:24:31 +0000
+++ src/metadataserver/tests/test_api.py	2012-09-25 11:24:31 +0000
@@ -495,62 +495,14 @@
         self.assertEqual(size_limit, len(stored_data))
 
     def test_signal_stores_lshw_file_on_node(self):
-        node = factory.make_node(status=NODE_STATUS.COMMISSIONING)
+        node = factory.make_node(status=NODE_STATUS.COMMISSIONING, memory=512)
         client = self.make_node_client(node=node)
         xmlbytes = "<t\xe9st/>".encode("utf-8")
         response = self.call_signal(client, files={'01-lshw.out': xmlbytes})
         self.assertEqual(httplib.OK, response.status_code)
         node = reload_object(node)
         self.assertEqual(xmlbytes, node.hardware_details)
-
-    def test_signal_stores_lshw_with_cpu_count(self):
-        node = factory.make_node(status=NODE_STATUS.COMMISSIONING)
-        client = self.make_node_client(node=node)
-        xmlbytes = (
-            '<node id="core">'
-                '<node id="cpu:0" class="processor"/>'
-                '<node id="cpu:1" class="processor"/>'
-            '</node>').encode("utf-8")
-        response = self.call_signal(client, files={'01-lshw.out': xmlbytes})
-        self.assertEqual(httplib.OK, response.status_code)
-        node = reload_object(node)
-        self.assertEqual(2, node.cpu_count)
-
-    def test_signal_stores_lshw_with_memory(self):
-        node = factory.make_node(status=NODE_STATUS.COMMISSIONING)
-        client = self.make_node_client(node=node)
-        xmlbytes = (
-            '<node id="memory">'
-                '<size units="bytes">4294967296</size>'
-            '</node>').encode("utf-8")
-        response = self.call_signal(client, files={'01-lshw.out': xmlbytes})
-        self.assertEqual(httplib.OK, response.status_code)
-        node = reload_object(node)
-        self.assertEqual(4, node.memory)
-
-    def test_signal_lshw_tags_match(self):
-        tag1 = factory.make_tag(factory.getRandomString(10), "/node")
-        tag2 = factory.make_tag(factory.getRandomString(10), "//node")
-        node = factory.make_node(status=NODE_STATUS.COMMISSIONING)
-        client = self.make_node_client(node=node)
-        xmlbytes = '<node/>'.encode("utf-8")
-        response = self.call_signal(client, files={'01-lshw.out': xmlbytes})
-        self.assertEqual(httplib.OK, response.status_code)
-        node = reload_object(node)
-        self.assertEqual([tag1, tag2], list(node.tags.all()))
-
-    def test_signal_lshw_tags_no_match(self):
-        tag1 = factory.make_tag(factory.getRandomString(10), "/missing")
-        tag2 = factory.make_tag(factory.getRandomString(10), "/nothing")
-        node = factory.make_node(status=NODE_STATUS.COMMISSIONING)
-        node.tags = [tag2]
-        node.save()
-        client = self.make_node_client(node=node)
-        xmlbytes = '<node/>'.encode("utf-8")
-        response = self.call_signal(client, files={'01-lshw.out': xmlbytes})
-        self.assertEqual(httplib.OK, response.status_code)
-        node = reload_object(node)
-        self.assertEqual([], list(node.tags.all()))
+        self.assertEqual(0, node.memory)
 
     def test_api_retrieves_node_metadata_by_mac(self):
         mac = factory.make_mac_address()