Expanded project creation tests and validation.
[snaps.git] / snaps / domain / test / project_tests.py
1 # Copyright (c) 2017 Cable Television Laboratories, Inc. ("CableLabs")
2 #                    and others.  All rights reserved.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at:
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 import unittest
17 from snaps.domain.project import Project
18
19
20 class ProjectDomainObjectTests(unittest.TestCase):
21     """
22     Tests the construction of the snaps.domain.test.Project class
23     """
24
25     def test_construction_positional_minimal(self):
26         project = Project('foo', '123-456')
27         self.assertEqual('foo', project.name)
28         self.assertEqual('123-456', project.id)
29         self.assertIsNone(project.domain_id)
30
31     def test_construction_positional_all(self):
32         project = Project('foo', '123-456', 'hello')
33         self.assertEqual('foo', project.name)
34         self.assertEqual('123-456', project.id)
35         self.assertEqual('hello', project.domain_id)
36
37     def test_construction_named_minimal(self):
38         project = Project(project_id='123-456', name='foo')
39         self.assertEqual('foo', project.name)
40         self.assertEqual('123-456', project.id)
41         self.assertIsNone(project.domain_id)
42
43     def test_construction_named_all(self):
44         project = Project(domain_id='hello', project_id='123-456', name='foo')
45         self.assertEqual('foo', project.name)
46         self.assertEqual('123-456', project.id)
47         self.assertEqual('hello', project.domain_id)