~ubuntu-branches/ubuntu/saucy/maas/saucy-proposed

« back to all changes in this revision

Viewing changes to src/maasserver/tests/test_api_node.py

  • Committer: Package Import Robot
  • Author(s): Andres Rodriguez
  • Date: 2013-10-04 12:33:05 UTC
  • mfrom: (1.2.16)
  • Revision ID: package-import@ubuntu.com-20131004123305-pu2rr8xhnl47m53n
Tags: 1.4+bzr1693+dfsg-0ubuntu1
* New Upstream Release (LP: #1218526)
  - This new upstream release contains fixes and improvements of the
    features approved by the FFe above.
  - Fixes commissioning failure on Saucy with 'Failed Test' (LP: #1237364)
  - Fixes access of static images over http  (LP: #1236544)
* d/maas-cluster-controller.postinst: a2enmod version module (LP: #1236544)
* d/control: Bump depends on python-django to 1.4. (LP: #1236572)
* d/maas-dhcp.postinst: Fail gracefully if apparmor_parser fails, allowing
  to install maas-dhcp during an ISO install. (LP: #1236786)

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
    unicode_literals,
10
10
    )
11
11
 
 
12
str = None
 
13
 
12
14
__metaclass__ = type
13
15
__all__ = []
14
16
 
46
48
    MAASServerTestCase,
47
49
    )
48
50
from maasserver.utils import map_enum
49
 
from metadataserver.fields import Bin
50
51
from metadataserver.models import (
51
52
    commissioningscript,
52
53
    NodeKey,
53
54
    NodeUserData,
54
55
    )
55
 
from metadataserver.models.nodecommissionresult import NodeCommissionResult
56
56
from metadataserver.nodeinituser import get_node_init_user
57
57
from provisioningserver.enum import (
58
58
    POWER_TYPE,
723
723
class TestGetDetails(APITestCase):
724
724
    """Tests for /api/1.0/nodes/<node>/?op=details."""
725
725
 
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)
730
730
 
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)
735
735
 
736
736
    def get_details(self, node):
737
737
        url = self.get_uri('nodes/%s/') % node.system_id
748
748
 
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))
757
757
 
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),
763
763
             "lldp": None},
764
764
            self.get_details(node))
765
765