test_views.py 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. import datetime
  2. from circuits.choices import *
  3. from circuits.models import Circuit, CircuitType, Provider
  4. from utilities.testing import StandardTestCases
  5. class ProviderTestCase(StandardTestCases.Views):
  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(StandardTestCases.Views):
  40. model = CircuitType
  41. # Disable inapplicable tests
  42. test_get_object = None
  43. test_delete_object = None
  44. test_bulk_edit_objects = None
  45. @classmethod
  46. def setUpTestData(cls):
  47. CircuitType.objects.bulk_create([
  48. CircuitType(name='Circuit Type 1', slug='circuit-type-1'),
  49. CircuitType(name='Circuit Type 2', slug='circuit-type-2'),
  50. CircuitType(name='Circuit Type 3', slug='circuit-type-3'),
  51. ])
  52. cls.form_data = {
  53. 'name': 'Circuit Type X',
  54. 'slug': 'circuit-type-x',
  55. 'description': 'A new circuit type',
  56. }
  57. cls.csv_data = (
  58. "name,slug",
  59. "Circuit Type 4,circuit-type-4",
  60. "Circuit Type 5,circuit-type-5",
  61. "Circuit Type 6,circuit-type-6",
  62. )
  63. class CircuitTestCase(StandardTestCases.Views):
  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. cls.form_data = {
  83. 'cid': 'Circuit X',
  84. 'provider': providers[1].pk,
  85. 'type': circuittypes[1].pk,
  86. 'status': CircuitStatusChoices.STATUS_DECOMMISSIONED,
  87. 'tenant': None,
  88. 'install_date': datetime.date(2020, 1, 1),
  89. 'commit_rate': 1000,
  90. 'description': 'A new circuit',
  91. 'comments': 'Some comments',
  92. 'tags': 'Alpha,Bravo,Charlie',
  93. }
  94. cls.csv_data = (
  95. "cid,provider,type",
  96. "Circuit 4,Provider 1,Circuit Type 1",
  97. "Circuit 5,Provider 1,Circuit Type 1",
  98. "Circuit 6,Provider 1,Circuit Type 1",
  99. )
  100. cls.bulk_edit_data = {
  101. 'provider': providers[1].pk,
  102. 'type': circuittypes[1].pk,
  103. 'status': CircuitStatusChoices.STATUS_DECOMMISSIONED,
  104. 'tenant': None,
  105. 'commit_rate': 2000,
  106. 'description': 'New description',
  107. 'comments': 'New comments',
  108. }