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

Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • digit-c4/netbox-plugins
  • abramda/netbox-plugins-for-git-lab-pilot
2 results
Show changes
Commits on Source (5)
......@@ -5,6 +5,42 @@
- docker
- docker-compose
## Contribute
Clone this project:
```
git clone git@code.europa.eu:digit-c4/netbox-plugins.git
```
### On Window
If you start from scratch:
Create SSH key:
[instruction](https://git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key)
Add key.pub to the git account:
[instruction](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)
Then clone the project.
#### If you are behind a proxy
create file `%USERPROFILE%/.ssh/config` and add below values:
```
Host code.europa.eu
ProxyCommand "C:/Program Files/Git/mingw64/bin/connect.exe" -H proxy-t2.welcome.ec.europa.eu:8012 %h %p
```
Create local environment variables:
| Variable | Value |
|----------| ------|
|HTTP_PROXY_USER | user |
|HTTP_PROXY_PASSWORD | password |
## Run localy
### on Linux
......@@ -20,4 +56,3 @@ env TAG=latest docker-compose -f docker-compose.yml -f docker-compose.test.yml u
url : http://localhost:8080
login: admin
password: thisnetboxisnot4u
......@@ -19,6 +19,7 @@ class HttpHeaderViewSet(NetBoxModelViewSet):
queryset = models.HttpHeader.objects.prefetch_related("mapping", "tags").all()
serializer_class = HttpHeaderSerializer
filterset_class = filtersets.HttpHeaderFilterSet
http_method_names = ["get", "post", "patch", "delete"]
......
......@@ -12,7 +12,7 @@ class MappingTable(NetBoxTable):
source = tables.Column(linkify=True)
httpheader_count = columns.LinkedCountColumn(
viewname="plugins:netbox_rps_plugin:httpheader_list",
url_params={"mapping_id": "pk"},
url_params={"mapping": "pk"},
verbose_name="HTTP Headers count",
)
tags = columns.TagColumn()
......
"""Test case for Mapping's Headers creation"""
import time
import unittest
import json
import os
import requests
from .base import Base
HOST = os.getenv("HOST", default="localhost")
PORT = os.getenv("PORT", default="8080")
API_KEY = os.getenv("API_KEY", "only4testingpurpose")
class TestMappingHeadersCreation(Base):
"""Test case for Mapping's Headers creation class"""
first_mapping_id = None
second_mapping_id = None
def test_that_mapping_headers_is_created(self) -> None:
"""Test that mapping is created"""
response = requests.post(
url=f"http://{HOST}:{PORT}/api/plugins/rps/mapping/",
json={
"source": "https://truc00.com/api",
"target": "http://10.10.10.10:1800/api",
},
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
)
self.assertEqual(response.status_code, 201)
self.first_mapping_id = json.loads(response.content)["id"]
response = requests.post(
url=f"http://{HOST}:{PORT}/api/plugins/rps/mapping/",
json={
"source": "https://truc01.com/api",
"target": "http://10.10.10.10:1800/api",
},
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
)
self.assertEqual(response.status_code, 201)
self.second_mapping_id = json.loads(response.content)["id"]
response = requests.post(
url=f"http://{HOST}:{PORT}/api/plugins/rps/http_header/",
json=[
{
"name": "test1",
"value": "value1",
"mapping": {"id": self.first_mapping_id},
},
{
"name": "test2",
"value": "value2",
"mapping": {"id": self.first_mapping_id},
},
{
"name": "test3",
"value": "value3",
"mapping": {"id": self.second_mapping_id},
},
],
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
)
self.assertEqual(response.status_code, 201)
response = requests.get(
url=f"http://{HOST}:{PORT}/api/plugins/rps/http_header/?mapping={self.second_mapping_id}",
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
)
self.assertEqual(response.status_code, 200)
content = json.loads(response.content)
self.assertEqual(content["count"], 1)
self.assertEqual(content["results"][0]["mapping"]["id"], self.second_mapping_id)
self.assertEqual(content["results"][0]["name"], "test3")
self.assertEqual(content["results"][0]["value"], "value3")
def tearDown(self) -> None:
"""Teardown function"""
if self.first_mapping_id is not None:
requests.delete(
url=f"http://{HOST}:{PORT}/api/plugins/rps/mapping/",
json=[{"id": self.first_mapping_id}],
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
)
if self.second_mapping_id is not None:
requests.delete(
url=f"http://{HOST}:{PORT}/api/plugins/rps/mapping/",
json=[{"id": self.second_mapping_id}],
headers={"Authorization": f"Token {API_KEY}"},
timeout=5,
)
time.sleep(2)
if __name__ == "__main__":
unittest.main()