test_views.py 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. import datetime
  2. from circuits.choices import *
  3. from circuits.models import *
  4. from utilities.testing import ViewTestCases
  5. class ProviderTestCase(ViewTestCases.PrimaryObjectViewTestCase):
  6. model = Provider
  7. @classmethod
  8. def setUpTestData(cls):
  9. Provider.objects.bulk_create([
  10. Provider(name='Provider 1', slug='provider-1', asn=65001),
  11. Provider(name='Provider 2', slug='provider-2', asn=65002),
  12. Provider(name='Provider 3', slug='provider-3', asn=65003),
  13. ])
  14. tags = cls.create_tags('Alpha', 'Bravo', 'Charlie')
  15. cls.form_data = {
  16. 'name': 'Provider X',
  17. 'slug': 'provider-x',
  18. 'asn': 65123,
  19. 'account': '1234',
  20. 'portal_url': 'http://example.com/portal',
  21. 'noc_contact': 'noc@example.com',
  22. 'admin_contact': 'admin@example.com',
  23. 'comments': 'Another provider',
  24. 'tags': [t.pk for t in tags],
  25. }
  26. cls.csv_data = (
  27. "name,slug",
  28. "Provider 4,provider-4",
  29. "Provider 5,provider-5",
  30. "Provider 6,provider-6",
  31. )
  32. cls.bulk_edit_data = {
  33. 'asn': 65009,
  34. 'account': '5678',
  35. 'portal_url': 'http://example.com/portal2',
  36. 'noc_contact': 'noc2@example.com',
  37. 'admin_contact': 'admin2@example.com',
  38. 'comments': 'New comments',
  39. }
  40. class CircuitTypeTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
  41. model = CircuitType
  42. @classmethod
  43. def setUpTestData(cls):
  44. CircuitType.objects.bulk_create([
  45. CircuitType(name='Circuit Type 1', slug='circuit-type-1'),
  46. CircuitType(name='Circuit Type 2', slug='circuit-type-2'),
  47. CircuitType(name='Circuit Type 3', slug='circuit-type-3'),
  48. ])
  49. cls.form_data = {
  50. 'name': 'Circuit Type X',
  51. 'slug': 'circuit-type-x',
  52. 'description': 'A new circuit type',
  53. }
  54. cls.csv_data = (
  55. "name,slug",
  56. "Circuit Type 4,circuit-type-4",
  57. "Circuit Type 5,circuit-type-5",
  58. "Circuit Type 6,circuit-type-6",
  59. )
  60. cls.bulk_edit_data = {
  61. 'description': 'Foo',
  62. }
  63. class CircuitTestCase(ViewTestCases.PrimaryObjectViewTestCase):
  64. model = Circuit
  65. @classmethod
  66. def setUpTestData(cls):
  67. providers = (
  68. Provider(name='Provider 1', slug='provider-1', asn=65001),
  69. Provider(name='Provider 2', slug='provider-2', asn=65002),
  70. )
  71. Provider.objects.bulk_create(providers)
  72. circuittypes = (
  73. CircuitType(name='Circuit Type 1', slug='circuit-type-1'),
  74. CircuitType(name='Circuit Type 2', slug='circuit-type-2'),
  75. )
  76. CircuitType.objects.bulk_create(circuittypes)
  77. Circuit.objects.bulk_create([
  78. Circuit(cid='Circuit 1', provider=providers[0], type=circuittypes[0]),
  79. Circuit(cid='Circuit 2', provider=providers[0], type=circuittypes[0]),
  80. Circuit(cid='Circuit 3', provider=providers[0], type=circuittypes[0]),
  81. ])
  82. tags = cls.create_tags('Alpha', 'Bravo', 'Charlie')
  83. cls.form_data = {
  84. 'cid': 'Circuit X',
  85. 'provider': providers[1].pk,
  86. 'type': circuittypes[1].pk,
  87. 'status': CircuitStatusChoices.STATUS_DECOMMISSIONED,
  88. 'tenant': None,
  89. 'install_date': datetime.date(2020, 1, 1),
  90. 'commit_rate': 1000,
  91. 'description': 'A new circuit',
  92. 'comments': 'Some comments',
  93. 'tags': [t.pk for t in tags],
  94. }
  95. cls.csv_data = (
  96. "cid,provider,type",
  97. "Circuit 4,Provider 1,Circuit Type 1",
  98. "Circuit 5,Provider 1,Circuit Type 1",
  99. "Circuit 6,Provider 1,Circuit Type 1",
  100. )
  101. cls.bulk_edit_data = {
  102. 'provider': providers[1].pk,
  103. 'type': circuittypes[1].pk,
  104. 'status': CircuitStatusChoices.STATUS_DECOMMISSIONED,
  105. 'tenant': None,
  106. 'commit_rate': 2000,
  107. 'description': 'New description',
  108. 'comments': 'New comments',
  109. }
  110. class CloudTestCase(ViewTestCases.PrimaryObjectViewTestCase):
  111. model = Cloud
  112. @classmethod
  113. def setUpTestData(cls):
  114. providers = (
  115. Provider(name='Provider 1', slug='provider-1'),
  116. Provider(name='Provider 2', slug='provider-2'),
  117. )
  118. Provider.objects.bulk_create(providers)
  119. Cloud.objects.bulk_create([
  120. Cloud(name='Cloud 1', provider=providers[0]),
  121. Cloud(name='Cloud 2', provider=providers[0]),
  122. Cloud(name='Cloud 3', provider=providers[0]),
  123. ])
  124. tags = cls.create_tags('Alpha', 'Bravo', 'Charlie')
  125. cls.form_data = {
  126. 'name': 'Cloud X',
  127. 'provider': providers[1].pk,
  128. 'description': 'A new cloud',
  129. 'comments': 'Longer description goes here',
  130. 'tags': [t.pk for t in tags],
  131. }
  132. cls.csv_data = (
  133. "name,provider,description",
  134. "Cloud 4,Provider 1,Foo",
  135. "Cloud 5,Provider 1,Bar",
  136. "Cloud 6,Provider 1,Baz",
  137. )
  138. cls.bulk_edit_data = {
  139. 'provider': providers[1].pk,
  140. 'description': 'New description',
  141. 'comments': 'New comments',
  142. }