test_views.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. import datetime
  2. from circuits.choices import *
  3. from circuits.models import Circuit, CircuitType, Provider
  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. cls.form_data = {
  15. 'name': 'Provider X',
  16. 'slug': 'provider-x',
  17. 'asn': 65123,
  18. 'account': '1234',
  19. 'portal_url': 'http://example.com/portal',
  20. 'noc_contact': 'noc@example.com',
  21. 'admin_contact': 'admin@example.com',
  22. 'comments': 'Another provider',
  23. 'tags': 'Alpha,Bravo,Charlie',
  24. }
  25. cls.csv_data = (
  26. "name,slug",
  27. "Provider 4,provider-4",
  28. "Provider 5,provider-5",
  29. "Provider 6,provider-6",
  30. )
  31. cls.bulk_edit_data = {
  32. 'asn': 65009,
  33. 'account': '5678',
  34. 'portal_url': 'http://example.com/portal2',
  35. 'noc_contact': 'noc2@example.com',
  36. 'admin_contact': 'admin2@example.com',
  37. 'comments': 'New comments',
  38. }
  39. class CircuitTypeTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
  40. model = CircuitType
  41. @classmethod
  42. def setUpTestData(cls):
  43. CircuitType.objects.bulk_create([
  44. CircuitType(name='Circuit Type 1', slug='circuit-type-1'),
  45. CircuitType(name='Circuit Type 2', slug='circuit-type-2'),
  46. CircuitType(name='Circuit Type 3', slug='circuit-type-3'),
  47. ])
  48. cls.form_data = {
  49. 'name': 'Circuit Type X',
  50. 'slug': 'circuit-type-x',
  51. 'description': 'A new circuit type',
  52. }
  53. cls.csv_data = (
  54. "name,slug",
  55. "Circuit Type 4,circuit-type-4",
  56. "Circuit Type 5,circuit-type-5",
  57. "Circuit Type 6,circuit-type-6",
  58. )
  59. class CircuitTestCase(ViewTestCases.PrimaryObjectViewTestCase):
  60. model = Circuit
  61. @classmethod
  62. def setUpTestData(cls):
  63. providers = (
  64. Provider(name='Provider 1', slug='provider-1', asn=65001),
  65. Provider(name='Provider 2', slug='provider-2', asn=65002),
  66. )
  67. Provider.objects.bulk_create(providers)
  68. circuittypes = (
  69. CircuitType(name='Circuit Type 1', slug='circuit-type-1'),
  70. CircuitType(name='Circuit Type 2', slug='circuit-type-2'),
  71. )
  72. CircuitType.objects.bulk_create(circuittypes)
  73. Circuit.objects.bulk_create([
  74. Circuit(cid='Circuit 1', provider=providers[0], type=circuittypes[0]),
  75. Circuit(cid='Circuit 2', provider=providers[0], type=circuittypes[0]),
  76. Circuit(cid='Circuit 3', provider=providers[0], type=circuittypes[0]),
  77. ])
  78. cls.form_data = {
  79. 'cid': 'Circuit X',
  80. 'provider': providers[1].pk,
  81. 'type': circuittypes[1].pk,
  82. 'status': CircuitStatusChoices.STATUS_DECOMMISSIONED,
  83. 'tenant': None,
  84. 'install_date': datetime.date(2020, 1, 1),
  85. 'commit_rate': 1000,
  86. 'description': 'A new circuit',
  87. 'comments': 'Some comments',
  88. 'tags': 'Alpha,Bravo,Charlie',
  89. }
  90. cls.csv_data = (
  91. "cid,provider,type",
  92. "Circuit 4,Provider 1,Circuit Type 1",
  93. "Circuit 5,Provider 1,Circuit Type 1",
  94. "Circuit 6,Provider 1,Circuit Type 1",
  95. )
  96. cls.bulk_edit_data = {
  97. 'provider': providers[1].pk,
  98. 'type': circuittypes[1].pk,
  99. 'status': CircuitStatusChoices.STATUS_DECOMMISSIONED,
  100. 'tenant': None,
  101. 'commit_rate': 2000,
  102. 'description': 'New description',
  103. 'comments': 'New comments',
  104. }