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