1
0
mirror of https://github.com/peeringdb/peeringdb.git synced 2024-05-11 05:55:09 +00:00
* remove log file writing from migration

* run tests on mysql

* fix tests (pt.1)

* fix tests (pt.2)

* fix all user_id errors in tests

* Fix geocode typo

* More test changes for mysql id issues

* Add coverage config that defines coverage db should go inside test folder

* update docs

* fix mysql user

* fix tests cli

* add mysql collate settings

* docs

* fix sync

* fix sync

* docs

* remove debug output

* remove XXX

* interim commit to move to dev box

* mv db local, rm after run

* updates for 724

* note layer error message and work around

* fix travis

* chown tests

* more travis fixes

* travis: touch Ctl/dev/.env

* write coverage report to ./coverage

* clean up docs

* formatting

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: Elliot Frank <elliot@20c.com>
This commit is contained in:
Matt Griswold
2020-12-03 19:10:02 +00:00
committed by GitHub
parent b2fe79cdcd
commit 299016282e
42 changed files with 494 additions and 726 deletions

View File

@@ -29,11 +29,12 @@ from peeringdb_server.models import (
IXLanIXFMemberImportLogEntry,
User,
DeskProTicket,
Group
)
from peeringdb_server import ixf
import pytest
from .util import override_group_id
@pytest.mark.django_db
def test_reset_ixf_proposals(admin_user, entities, ip_addresses):
@@ -54,20 +55,20 @@ def test_reset_ixf_proposals(admin_user, entities, ip_addresses):
@pytest.mark.django_db
def test_dismiss_ixf_proposals(admin_user, entities, ip_addresses):
IXF_ID = 3
network = entities["network"]
ixlan = entities["ixlan"][0]
create_IXFMemberData(network, ixlan, ip_addresses, False)
ids = create_IXFMemberData(network, ixlan, ip_addresses, False)
client = setup_client(admin_user)
url = reverse("net-dismiss-ixf-proposal", args=(network.id, IXF_ID))
url = reverse("net-dismiss-ixf-proposal", args=(network.id, ids[-1]))
response = client.post(url)
content = response.content.decode("utf-8")
assert response.status_code == 200
assert IXFMemberData.objects.filter(pk=IXF_ID).first().dismissed == True
assert IXFMemberData.objects.filter(pk=ids[-1]).first().dismissed == True
@pytest.mark.django_db
@@ -89,14 +90,14 @@ def test_reset_ixf_proposals_no_perm(regular_user, entities, ip_addresses):
@pytest.mark.django_db
def test_dismiss_ixf_proposals_no_perm(regular_user, entities, ip_addresses):
IXF_ID = 3
network = entities["network"]
ixlan = entities["ixlan"][0]
create_IXFMemberData(network, ixlan, ip_addresses, False)
ids = create_IXFMemberData(network, ixlan, ip_addresses, False)
client = setup_client(regular_user)
url = reverse("net-dismiss-ixf-proposal", args=(network.id, IXF_ID))
url = reverse("net-dismiss-ixf-proposal", args=(network.id, ids[-1]))
response = client.post(url)
content = response.content.decode("utf-8")
@@ -107,7 +108,6 @@ def test_dismiss_ixf_proposals_no_perm(regular_user, entities, ip_addresses):
@pytest.mark.django_db
def test_ix_order(admin_user, entities, ip_addresses, ip_addresses_other):
"""
Test that multiple exchanges proposing changes appear
sorted by exchange name
@@ -121,9 +121,11 @@ def test_ix_order(admin_user, entities, ip_addresses, ip_addresses_other):
create_IXFMemberData(network, ixlan_b, ip_addresses_other, False)
client = setup_client(admin_user)
url = reverse("net-view", args=(network.id,))
response = client.get(url)
with override_group_id():
response = client.get(url)
content = response.content.decode("utf-8")
assert response.status_code == 200
@@ -132,14 +134,14 @@ def test_ix_order(admin_user, entities, ip_addresses, ip_addresses_other):
assert matches == ["Test Exchange One", "Test Exchange Two"]
@pytest.mark.django_db
@pytest.mark.django_db()
def test_dismissed_note(admin_user, entities, ip_addresses):
"""
Test that dismissed hints that are no longer relevant (noop)
don't show the "you have dimissed suggestions" notification (#809)
"""
network = entities["network"]
ixlan_a = entities["ixlan"][0]
@@ -148,7 +150,8 @@ def test_dismissed_note(admin_user, entities, ip_addresses):
client = setup_client(admin_user)
url = reverse("net-view", args=(network.id,))
response = client.get(url)
with override_group_id():
response = client.get(url)
content = response.content.decode("utf-8")
# dismissed suggestion still relevant, confirm note is shown
@@ -168,7 +171,9 @@ def test_dismissed_note(admin_user, entities, ip_addresses):
ipaddr6=ip_addresses[0][1],
)
response = client.get(url)
with override_group_id():
response = client.get(url)
content = response.content.decode("utf-8")
# dismissed suggestion no longer relevant, confirm note is gibe
@@ -223,9 +228,12 @@ def test_check_ixf_proposals(admin_user, entities, ip_addresses):
importer = ixf.Importer()
importer.update(ixlan, data=json_data)
client = setup_client(admin_user)
url = reverse("net-view", args=(network.id,))
response = client.get(url)
with override_group_id():
response = client.get(url)
assert response.status_code == 200
content = response.content.decode("utf-8")
@@ -249,8 +257,9 @@ def setup_client(user):
def create_IXFMemberData(network, ixlan, ip_addresses, dismissed):
"""
Creates IXFMember data
Creates IXFMember data. Returns the ids of the created instances.
"""
ids = []
for ip_address in ip_addresses:
ixfmember = IXFMemberData.instantiate(
network.asn, ip_address[0], ip_address[1], ixlan, data={"foo": "bar"}
@@ -258,6 +267,10 @@ def create_IXFMemberData(network, ixlan, ip_addresses, dismissed):
ixfmember.save()
ixfmember.dismissed = dismissed
ixfmember.save()
ids.append(ixfmember.id)
return ids
@pytest.fixture
@@ -291,6 +304,7 @@ def ip_addresses_other():
@pytest.fixture
def entities():
entities = {}
with reversion.create_revision():
entities["org"] = [Organization.objects.create(name="Netflix", status="ok")]
@@ -349,11 +363,20 @@ def entities():
status="ok",
irr_as_set="AS-NFLX",
)
return entities
@pytest.fixture
def admin_user():
from django.conf import settings
guest_group, _ = Group.objects.get_or_create(name="guest")
user_group, _ = Group.objects.get_or_create(name="user")
print("Guest: {} {} ".format(guest_group, guest_group.id))
print("User: {} {} ".format(user_group, user_group.id))
admin_user = User.objects.create_user(
"admin", "admin@localhost", first_name="admin", last_name="admin"
)