46
48
MAASServerTestCase,
48
50
from maasserver.utils import map_enum
49
from metadataserver.fields import Bin
50
51
from metadataserver.models import (
51
52
commissioningscript,
55
from metadataserver.models.nodecommissionresult import NodeCommissionResult
56
56
from metadataserver.nodeinituser import get_node_init_user
57
57
from provisioningserver.enum import (
723
723
class TestGetDetails(APITestCase):
724
724
"""Tests for /api/1.0/nodes/<node>/?op=details."""
726
def make_lshw_result(self, node, data=b"<lshw-data/>", script_result=0):
727
NodeCommissionResult.objects.store_data(
728
node, commissioningscript.LSHW_OUTPUT_NAME,
729
script_result=script_result, data=Bin(data))
726
def make_lshw_result(self, node, script_result=0):
727
return factory.make_node_commission_result(
728
node=node, name=commissioningscript.LSHW_OUTPUT_NAME,
729
script_result=script_result)
731
def make_lldp_result(self, node, data=b"<lldp-data/>", script_result=0):
732
NodeCommissionResult.objects.store_data(
733
node, commissioningscript.LLDP_OUTPUT_NAME,
734
script_result=script_result, data=Bin(data))
731
def make_lldp_result(self, node, script_result=0):
732
return factory.make_node_commission_result(
733
node=node, name=commissioningscript.LLDP_OUTPUT_NAME,
734
script_result=script_result)
736
736
def get_details(self, node):
737
737
url = self.get_uri('nodes/%s/') % node.system_id
749
749
def test_GET_returns_all_details(self):
750
750
node = factory.make_node()
751
self.make_lshw_result(node)
752
self.make_lldp_result(node)
751
lshw_result = self.make_lshw_result(node)
752
lldp_result = self.make_lldp_result(node)
753
753
self.assertDictEqual(
754
{"lshw": bson.Binary(b"<lshw-data/>"),
755
"lldp": bson.Binary(b"<lldp-data/>")},
754
{"lshw": bson.Binary(lshw_result.data),
755
"lldp": bson.Binary(lldp_result.data)},
756
756
self.get_details(node))
758
758
def test_GET_returns_only_those_details_that_exist(self):
759
759
node = factory.make_node()
760
self.make_lshw_result(node)
760
lshw_result = self.make_lshw_result(node)
761
761
self.assertDictEqual(
762
{"lshw": bson.Binary(b"<lshw-data/>"),
762
{"lshw": bson.Binary(lshw_result.data),
764
764
self.get_details(node))