예제 #1
0
class NodeEntryTests(unittest2.TestCase):
    def setUp(self):
        self.entry = Entry('node', 'L{Node}',
                           'node which is required')

    def test_validate(self):
        valid_json = '{"node_id": "33333", "unknown_arg": 123}'
        self.entry._get_json_and_validate(valid_json)
        malformed_json = '{"id"}'
        self.assertRaises(MalformedJSONError,
                          self.entry._get_json_and_validate,
                          malformed_json)
        invalid_json = '{"node_id": 123}'
        self.assertRaises(ValidationError, self.entry._get_json_and_validate,
                          invalid_json)

    def test_get_arguments(self):
        argument = self.entry.get_arguments()[0]
        self.assertEqual(argument['name'], 'node_id')
        self.assertEqual(argument['type'], 'str')

    def test_to_json(self):
        node = Node('111', 'test', NodeState.RUNNING, ['123.123.123.123'],
                    None, Node)
        json_data = json.loads(self.entry.to_json(node))
        self.assertEqual(node.name, json_data['name'])
        self.assertEqual(node.id, json_data['id'])
        self.assertEqual(node.state, json_data['state'])
        self.assertEqual(node.public_ips, json_data['public_ips'])
        self.assertRaises(ValueError, self.entry.to_json, ['pass'])

    def test_from_json(self):
        json_data = '{"node_id": "2600"}'
        node = self.entry.from_json(json_data, None)
        self.assertEqual(node.id, '2600')
예제 #2
0
class NodeEntryTests(unittest2.TestCase):
    def setUp(self):
        self.entry = Entry('node', 'L{Node}', 'node which is required')

    def test_validate(self):
        valid_json = '{"node_id": "33333", "unknown_arg": 123}'
        self.entry._get_json_and_validate(valid_json)
        malformed_json = '{"id"}'
        self.assertRaises(MalformedJSONError,
                          self.entry._get_json_and_validate, malformed_json)
        invalid_json = '{"node_id": 123}'
        self.assertRaises(ValidationError, self.entry._get_json_and_validate,
                          invalid_json)

    def test_get_arguments(self):
        argument = self.entry.get_arguments()[0]
        self.assertEqual(argument['name'], 'node_id')
        self.assertEqual(argument['type'], 'str')

    def test_to_json(self):
        node = Node('111', 'test', NodeState.RUNNING, ['123.123.123.123'],
                    None, Node)
        json_data = json.loads(self.entry.to_json(node))
        self.assertEqual(node.name, json_data['name'])
        self.assertEqual(node.id, json_data['id'])
        self.assertEqual(node.state, json_data['state'])
        self.assertEqual(node.public_ips, json_data['public_ips'])
        self.assertRaises(ValueError, self.entry.to_json, ['pass'])

    def test_from_json(self):
        json_data = '{"node_id": "2600"}'
        node = self.entry.from_json(json_data, None)
        self.assertEqual(node.id, '2600')
예제 #3
0
class StringEntryTests(unittest2.TestCase):
    def setUp(self):
        self.entry = Entry('zone_id', 'C{str}',
                           'ID of the zone which is required')

    def test_validate(self):
        valid_json = '{"zone_id": "123"}'
        self.entry._get_json_and_validate(valid_json)
        malformed_json = "{ '1'}"
        self.assertRaises(MalformedJSONError,
                          self.entry._get_json_and_validate,
                          malformed_json)
        invalid_json = '{"zone_id": 123}'
        self.assertRaises(ValidationError,
                          self.entry._get_json_and_validate,
                          invalid_json)

    def test_get_arguments(self):
        argument = self.entry.get_arguments()[0]
        self.assertEqual(argument['name'], 'zone_id')
        self.assertEqual(argument['description'],
                         'ID of the zone which is required')
        self.assertEqual(argument['type'], 'str')

    def test_to_json(self):
        valid = '123'
        self.entry.to_json(valid)
        invalid = 123
        self.assertRaises(ValueError, self.entry.to_json, invalid)

    def test_from_json(self):
        valid = '{"zone_id": "123"}'
        self.entry.from_json(valid)
        invalid = '{"zone_id": 333}'
        self.assertRaises(ValidationError, self.entry.from_json, invalid)

    def test_default(self):
        entry = Entry('zone_id', 'C{str}',
                      'ID of the zone which is required',
                      default='12345')
        valid_json = '{"zone_id": "33333", "unknown_arg": 123}'
        self.assertEqual('33333', entry.from_json(valid_json))
        self.assertTrue(entry._get_json_and_validate(valid_json))
        node_json = '{"node_id": "33333", "unknown_arg": 123}'
        self.assertEqual('12345', entry.from_json(node_json))
        self.assertRaises(MissingArguments,
                          entry._get_json_and_validate, node_json)
        valid = '123'
        entry.to_json(valid)
        invalid = 123
        self.assertRaises(ValueError, entry.to_json, invalid)
예제 #4
0
class StringEntryTests(unittest2.TestCase):
    def setUp(self):
        self.entry = Entry('zone_id', 'C{str}',
                           'ID of the zone which is required')

    def test_validate(self):
        valid_json = '{"zone_id": "123"}'
        self.entry._get_json_and_validate(valid_json)
        malformed_json = "{ '1'}"
        self.assertRaises(MalformedJSONError,
                          self.entry._get_json_and_validate, malformed_json)
        invalid_json = '{"zone_id": 123}'
        self.assertRaises(ValidationError, self.entry._get_json_and_validate,
                          invalid_json)

    def test_get_arguments(self):
        argument = self.entry.get_arguments()[0]
        self.assertEqual(argument['name'], 'zone_id')
        self.assertEqual(argument['description'],
                         'ID of the zone which is required')
        self.assertEqual(argument['type'], 'str')

    def test_to_json(self):
        valid = '123'
        self.entry.to_json(valid)
        invalid = 123
        self.assertRaises(ValueError, self.entry.to_json, invalid)

    def test_from_json(self):
        valid = '{"zone_id": "123"}'
        self.entry.from_json(valid)
        invalid = '{"zone_id": 333}'
        self.assertRaises(ValidationError, self.entry.from_json, invalid)

    def test_default(self):
        entry = Entry('zone_id',
                      'C{str}',
                      'ID of the zone which is required',
                      default='12345')
        valid_json = '{"zone_id": "33333", "unknown_arg": 123}'
        self.assertEqual('33333', entry.from_json(valid_json))
        self.assertTrue(entry._get_json_and_validate(valid_json))
        node_json = '{"node_id": "33333", "unknown_arg": 123}'
        self.assertEqual('12345', entry.from_json(node_json))
        self.assertRaises(MissingArguments, entry._get_json_and_validate,
                          node_json)
        valid = '123'
        entry.to_json(valid)
        invalid = 123
        self.assertRaises(ValueError, entry.to_json, invalid)
예제 #5
0
 def test_default(self):
     entry = Entry('zone_id', 'C{str}',
                   'ID of the zone which is required',
                   default='12345')
     valid_json = '{"zone_id": "33333", "unknown_arg": 123}'
     self.assertEqual('33333', entry.from_json(valid_json))
     self.assertTrue(entry._get_json_and_validate(valid_json))
     node_json = '{"node_id": "33333", "unknown_arg": 123}'
     self.assertEqual('12345', entry.from_json(node_json))
     self.assertRaises(MissingArguments,
                       entry._get_json_and_validate, node_json)
     valid = '123'
     entry.to_json(valid)
     invalid = 123
     self.assertRaises(ValueError, entry.to_json, invalid)
예제 #6
0
 def test_default(self):
     entry = Entry('zone_id',
                   'C{str}',
                   'ID of the zone which is required',
                   default='12345')
     valid_json = '{"zone_id": "33333", "unknown_arg": 123}'
     self.assertEqual('33333', entry.from_json(valid_json))
     self.assertTrue(entry._get_json_and_validate(valid_json))
     node_json = '{"node_id": "33333", "unknown_arg": 123}'
     self.assertEqual('12345', entry.from_json(node_json))
     self.assertRaises(MissingArguments, entry._get_json_and_validate,
                       node_json)
     valid = '123'
     entry.to_json(valid)
     invalid = 123
     self.assertRaises(ValueError, entry.to_json, invalid)