7961 CSV bulk update (#10715)

* 7961 add csv bulk update

* temp checkin - blocked

* 7961 bugfix and cleanup

* 7961 change to id, add docs

* 7961 add tests cases

* 7961 fix does not exist validation error

* 7961 fix does not exist validation error

* 7961 update tests

* 7961 update tests

* 7961 update tests

* 7961 update tests

* 7961 update tests

* 7961 update tests

* 7961 update tests

* 7961 update tests

* 7961 update tests

* 7961 make test cases more explicit

* 7961 make test cases more explicit

* 7961 make test cases more explicit

* 7961 make test cases more explicit

* 7961 make test cases more explicit

* 7961 make test cases more explicit

* 7961 make test cases more explicit

* 7961 optimize loading csv test data

* 7961 update tests remove redundant code

* 7961 avoid MPTT issue in test cases
This commit is contained in:
Arthur Hanson
2022-10-27 10:10:18 -07:00
committed by GitHub
parent e09958486d
commit 8fd293bc1c
13 changed files with 715 additions and 117 deletions

View File

@@ -32,11 +32,18 @@ class WirelessLANGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
cls.csv_data = (
"name,slug,description",
"Wireles sLAN Group 4,wireless-lan-group-4,Fourth wireless LAN group",
"Wireless LAN Group 4,wireless-lan-group-4,Fourth wireless LAN group",
"Wireless LAN Group 5,wireless-lan-group-5,Fifth wireless LAN group",
"Wireless LAN Group 6,wireless-lan-group-6,Sixth wireless LAN group",
)
cls.csv_update_data = (
"id,name,description",
f"{groups[0].pk},Wireless LAN Group 7,Fourth wireless LAN group7",
f"{groups[1].pk},Wireless LAN Group 8,Fifth wireless LAN group8",
f"{groups[2].pk},Wireless LAN Group 0,Sixth wireless LAN group9",
)
cls.bulk_edit_data = {
'description': 'New description',
}
@@ -62,11 +69,12 @@ class WirelessLANTestCase(ViewTestCases.PrimaryObjectViewTestCase):
for group in groups:
group.save()
WirelessLAN.objects.bulk_create([
wireless_lans = (
WirelessLAN(group=groups[0], ssid='WLAN1', tenant=tenants[0]),
WirelessLAN(group=groups[0], ssid='WLAN2', tenant=tenants[0]),
WirelessLAN(group=groups[0], ssid='WLAN3', tenant=tenants[0]),
])
)
WirelessLAN.objects.bulk_create(wireless_lans)
tags = create_tags('Alpha', 'Bravo', 'Charlie')
@@ -84,6 +92,13 @@ class WirelessLANTestCase(ViewTestCases.PrimaryObjectViewTestCase):
f"Wireless LAN Group 2,WLAN6,{tenants[2].name}",
)
cls.csv_update_data = (
f"id,ssid",
f"{wireless_lans[0].pk},WLAN7",
f"{wireless_lans[1].pk},WLAN8",
f"{wireless_lans[2].pk},WLAN9",
)
cls.bulk_edit_data = {
'description': 'New description',
}
@@ -115,9 +130,12 @@ class WirelessLinkTestCase(ViewTestCases.PrimaryObjectViewTestCase):
]
Interface.objects.bulk_create(interfaces)
WirelessLink(interface_a=interfaces[0], interface_b=interfaces[1], ssid='LINK1', tenant=tenants[0]).save()
WirelessLink(interface_a=interfaces[2], interface_b=interfaces[3], ssid='LINK2', tenant=tenants[0]).save()
WirelessLink(interface_a=interfaces[4], interface_b=interfaces[5], ssid='LINK3', tenant=tenants[0]).save()
wirelesslink1 = WirelessLink(interface_a=interfaces[0], interface_b=interfaces[1], ssid='LINK1', tenant=tenants[0])
wirelesslink1.save()
wirelesslink2 = WirelessLink(interface_a=interfaces[2], interface_b=interfaces[3], ssid='LINK2', tenant=tenants[0])
wirelesslink2.save()
wirelesslink3 = WirelessLink(interface_a=interfaces[4], interface_b=interfaces[5], ssid='LINK3', tenant=tenants[0])
wirelesslink3.save()
tags = create_tags('Alpha', 'Bravo', 'Charlie')
@@ -136,6 +154,13 @@ class WirelessLinkTestCase(ViewTestCases.PrimaryObjectViewTestCase):
f"{interfaces[10].pk},{interfaces[11].pk},connected,{tenants[2].name}",
)
cls.csv_update_data = (
"id,ssid,description",
f"{wirelesslink1.pk},LINK7,New decription 7",
f"{wirelesslink2.pk},LINK8,New decription 8",
f"{wirelesslink3.pk},LINK9,New decription 9",
)
cls.bulk_edit_data = {
'status': LinkStatusChoices.STATUS_PLANNED,
}