Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Verified Commit 186fb255 authored by Vincent SIMONIN's avatar Vincent SIMONIN
Browse files

:card_box: Change protocols property name

parent 5829bfc9
No related branches found
No related tags found
1 merge request!53✨ Add new mapping property `protocol`
Pipeline #116701 passed
Showing with 27 additions and 29 deletions
......@@ -123,7 +123,7 @@ class MappingSerializer(NetBoxModelSerializer):
"proxy_cache",
"proxy_read_timeout",
"client_max_body_size",
"protocols",
"extra_protocols",
"sorry_page",
"custom_fields",
"created",
......
......@@ -9,7 +9,7 @@ from .models import Mapping, HttpHeader
class MappingFilterSet(NetBoxModelFilterSet):
"""Mapping filterset definition class"""
protocols = filters.CharFilter(lookup_expr="icontains")
extra_protocols = filters.CharFilter(lookup_expr="icontains")
class Meta:
model = Mapping
......@@ -20,7 +20,7 @@ class MappingFilterSet(NetBoxModelFilterSet):
"target",
"Comment",
"webdav",
"protocols",
"extra_protocols",
"testingpage",
"gzip_proxied",
"keepalive_requests",
......
......@@ -12,7 +12,7 @@ from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, add_blank_choice
from .models import (
Mapping,
AuthenticationChoices,
ProtocolChoices,
ExtraProtocolChoices,
HttpHeader,
ApplyToChoices,
SamlConfig,
......@@ -23,7 +23,7 @@ from .models import (
class MappingForm(NetBoxModelForm):
"""Mapping form definition class"""
protocols = forms.MultipleChoiceField(choices=ProtocolChoices)
extra_protocols = forms.MultipleChoiceField(choices=ExtraProtocolChoices)
class Meta:
model = Mapping
......@@ -32,7 +32,7 @@ class MappingForm(NetBoxModelForm):
"target",
"authentication",
"webdav",
"protocols",
"extra_protocols",
"testingpage",
"gzip_proxied",
"keepalive_requests",
......@@ -80,8 +80,8 @@ class MappingFilterForm(NetBoxModelFilterSetForm):
webdav = forms.BooleanField(
required=False, widget=forms.Select(choices=BOOLEAN_WITH_BLANK_CHOICES)
)
protocols = forms.MultipleChoiceField(
choices=ProtocolChoices,
extra_protocols = forms.MultipleChoiceField(
choices=ExtraProtocolChoices,
required=False,
)
testingpage = forms.CharField(
......
......@@ -30,7 +30,7 @@ class Migration(migrations.Migration):
),
migrations.AddField(
model_name="mapping",
name="protocols",
name="extra_protocols",
field=django.contrib.postgres.fields.ArrayField(
base_field=models.CharField(max_length=32),
default=netbox_rps_plugin.models.default_protocol,
......
......@@ -39,23 +39,21 @@ class ApplyToChoices(ChoiceSet):
]
class ProtocolChoices(ChoiceSet):
class ExtraProtocolChoices(ChoiceSet):
"""Protocol choices definition class"""
key = "Mapping.protocol"
HTTP_HTTPS = "http_https"
WEBSOCKET = "websocket"
WEBSOCKET_SECURE = "websocket"
CHOICES = [
(HTTP_HTTPS, "HTTP / HTTPS", "dark"),
(WEBSOCKET, "Websocket", "blue"),
(WEBSOCKET_SECURE, "Websocket", "blue"),
]
def default_protocol():
"""Return the default protocols"""
return [ProtocolChoices.HTTP_HTTPS]
return []
class Mapping(NetBoxModel):
......@@ -112,11 +110,11 @@ class Mapping(NetBoxModel):
validators=[URLValidator(message="It must be a url")],
default=DEFAULT_SORRY_PAGE,
)
protocols = ArrayField(
base_field=models.CharField(max_length=32, choices=ProtocolChoices),
extra_protocols = ArrayField(
base_field=models.CharField(max_length=32, choices=ExtraProtocolChoices),
null=False,
blank=False,
verbose_name="Protocols",
blank=True,
verbose_name="Extra Protocols",
default=default_protocol,
)
......
......@@ -27,7 +27,7 @@ class MappingTable(NetBoxTable):
"authentication",
"testingpage",
"webdav",
"protocols",
"extra_protocols",
"Comment",
"gzip_proxied",
"keepalive_requests",
......@@ -46,7 +46,7 @@ class MappingTable(NetBoxTable):
"target",
"authentication",
"webdav",
"protocols",
"extra_protocols",
"gzip_proxied",
"keepalive_requests",
"keepalive_timeout",
......
......@@ -67,8 +67,8 @@
<td>{{ object.webdav|yesno }}</td>
</tr>
<tr>
<th scope="row">Protocol</th>
<td>{{ object.protocols|placeholder }}</td>
<th scope="row">Extra Protocols</th>
<td>{{ object.extra_protocols|placeholder }}</td>
</tr>
<tr>
<th scope="row">Comment</th>
......
......@@ -54,7 +54,7 @@ class TestMappingCreation(Base):
content = json.loads(response.content)
self.assertEqual(content["authentication"], "none")
self.assertEqual(content["protocols"], ["http_https"])
self.assertEqual(content["extra_protocols"], [])
if __name__ == "__main__":
......
......@@ -34,7 +34,7 @@ class TestMappingProtocols(Base):
content = json.loads(response.content)
self.assertEqual(content["protocols"], ["http_https"])
self.assertEqual(content["extra_protocols"], [])
def test_that_mapping_protocols_are_not_valid(self) -> None:
"""Test that mapping protocols are not valid"""
......@@ -44,7 +44,7 @@ class TestMappingProtocols(Base):
json={
"source": "https://truc00.com/api",
"target": "http://10.10.10.10:1800/api",
"protocols": ["thisisnotavalidprotocol", "websocket", "anotherone"],
"extra_protocols": ["thisisnotavalidprotocol", "websocket", "anotherone"],
},
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
......@@ -53,7 +53,7 @@ class TestMappingProtocols(Base):
self.assertEqual(response.status_code, 400)
self.assertEqual(
response.content,
b'{"protocols":{"0":["\\"thisisnotavalidprotocol\\" is not a valid choice."],'
b'{"extra_protocols":{"0":["\\"thisisnotavalidprotocol\\" is not a valid choice."],'
+ b'"2":["\\"anotherone\\" is not a valid choice."]}}',
)
......@@ -65,7 +65,7 @@ class TestMappingProtocols(Base):
json={
"source": "https://truc00.com/api",
"target": "http://10.10.10.10:1800/api",
"protocols": ["http_https", "websocket"],
"extra_protocols": ["websocket"],
},
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
......@@ -77,7 +77,7 @@ class TestMappingProtocols(Base):
content = json.loads(response.content)
self.assertEqual(content["protocols"], ["http_https", "websocket"])
self.assertEqual(content["extra_protocols"], ["websocket"])
if __name__ == "__main__":
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment