Skip to content

Commit

Permalink
test fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
ansibleguy committed May 11, 2024
1 parent 4f5dd27 commit 3066006
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 19 deletions.
1 change: 1 addition & 0 deletions requirements_test.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
pytest
selenium
blinker<1.8.0
selenium-wire
chromedriver-autoinstaller
requests
44 changes: 29 additions & 15 deletions src/ansibleguy-webui/aw/api_endpoints/alert.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
class BaseAlertWriteRequest(BaseResponse):
# NOTE: not using modelserializer because issues with DRF and PUT unique constraints
name = serializers.CharField(required=True)
alert_type = serializers.IntegerField()
condition = serializers.IntegerField()
alert_type = serializers.IntegerField(required=False)
condition = serializers.IntegerField(required=False)
jobs = serializers.ListSerializer(child=serializers.IntegerField(), required=False)
jobs_all = serializers.BooleanField()
# todo: require alert to be provided if alert-type is plugin
Expand Down Expand Up @@ -181,8 +181,10 @@ class Meta:
condition_name = serializers.CharField()


class AlertUserWriteRequest(BaseAlertWriteRequest):
user = serializers.IntegerField(required=True)
class AlertUserCreateRequest(serializers.ModelSerializer):
class Meta:
model = AlertUser
fields = AlertUser.api_fields_write


class APIAlertUser(GenericAPIView):
Expand All @@ -204,14 +206,14 @@ def get(request):
)

@extend_schema(
request=AlertUserWriteRequest,
request=AlertUserCreateRequest,
responses=api_docs_post('Alert'),
summary='Create a new Alert.',
operation_id='alert_user_create',
)
def post(self, request):
user = get_api_user(request)
serializer = AlertUserWriteRequest(data=request.data)
serializer = AlertUserCreateRequest(data=request.data)

if not serializer.is_valid():
return Response(
Expand Down Expand Up @@ -264,14 +266,14 @@ def get(request, alert_id: int):
)

@extend_schema(
request=AlertUserWriteRequest,
request=BaseAlertWriteRequest,
responses=api_docs_put('Alert'),
summary='Modify an Alert.',
operation_id='alert_user_edit',
)
def put(self, request, alert_id: int):
user = get_api_user(request)
serializer = AlertUserWriteRequest(data=request.data)
serializer = BaseAlertWriteRequest(data=request.data)

if not serializer.is_valid():
return Response(
Expand Down Expand Up @@ -333,6 +335,12 @@ class Meta:
condition_name = serializers.CharField()


class AlertGlobalCreateRequest(serializers.ModelSerializer):
class Meta:
model = AlertGlobal
fields = AlertGlobal.api_fields_write


class APIAlertGlobal(GenericAPIView):
http_method_names = ['get', 'post']
serializer_class = AlertGlobalReadResponse
Expand All @@ -350,7 +358,7 @@ def get(request):
return Response([AlertGlobalReadResponse(instance=alert).data for alert in AlertGlobal.objects.all()])

@extend_schema(
request=AlertGlobalReadResponse,
request=AlertGlobalCreateRequest,
responses=api_docs_post('Alert'),
summary='Create a new Alert.',
operation_id='alert_global_create',
Expand All @@ -363,7 +371,7 @@ def post(self, request):
status=403,
)

serializer = BaseAlertWriteRequest(data=request.data)
serializer = AlertGlobalCreateRequest(data=request.data)

if not serializer.is_valid():
return Response(
Expand Down Expand Up @@ -487,10 +495,16 @@ class Meta:
group_name = serializers.CharField()


class AlertGroupWriteRequest(BaseAlertWriteRequest):
class AlertGrouUpdateRequest(BaseAlertWriteRequest):
group = serializers.IntegerField(required=True)


class AlertGroupCreateRequest(serializers.ModelSerializer):
class Meta:
model = AlertGroup
fields = AlertGroup.api_fields_write


class APIAlertGroup(GenericAPIView):
http_method_names = ['get', 'post']
serializer_class = AlertGroupReadResponse
Expand All @@ -510,7 +524,7 @@ def get(request):
)

@extend_schema(
request=AlertGroupWriteRequest,
request=AlertGroupCreateRequest,
responses=api_docs_post('Alert'),
summary='Create a new Alert.',
operation_id='alert_group_create',
Expand All @@ -523,7 +537,7 @@ def post(self, request):
status=403,
)

serializer = AlertGroupWriteRequest(data=request.data)
serializer = AlertGroupCreateRequest(data=request.data)

if not serializer.is_valid():
return Response(
Expand Down Expand Up @@ -575,7 +589,7 @@ def get(request, alert_id: int):
)

@extend_schema(
request=AlertGroupWriteRequest,
request=AlertGrouUpdateRequest,
responses=api_docs_put('Alert'),
summary='Modify an Alert.',
operation_id='alert_group_edit',
Expand All @@ -588,7 +602,7 @@ def put(self, request, alert_id: int):
status=403,
)

serializer = AlertGroupWriteRequest(data=request.data)
serializer = AlertGrouUpdateRequest(data=request.data)

if not serializer.is_valid():
return Response(
Expand Down
2 changes: 1 addition & 1 deletion src/ansibleguy-webui/aw/config/navigation.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
'login': False,
},
'DON': {
'element': '<i class="fas fa-coins fa-2x aw-nav-right-icon" title="Tip Me"></i>',
'element': '<i class="fas fa-coins fa-2x aw-nav-right-icon" title="Support the project"></i>',
'url': 'https://ko-fi.com/ansible0guy',
'login': False,
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ def alert_plugin_email(user: USERS, stats: list[dict], execution: JobExecution):
port = 25

try:
print(f"Alert user {user.username} via email ({server}:{port} => {user.email})")
ssl_context = ssl.create_default_context()
if config['mail_ssl_verify']:
ssl_context.check_hostname = True
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@

def alert_plugin_wrapper(alert: BaseAlert, user: USERS, stats: [JobExecutionResultHost], execution: JobExecution):
# implement plugin interface
print(f"Alert user {user.username} via plugin {alert.plugin.executable}")
pass
2 changes: 1 addition & 1 deletion src/ansibleguy-webui/aw/templates/body.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
<footer class="aw-footer">
<div class="aw-footer-text">
<div>
© {% now 'Y' %} AnsibleGuy | Version {% get_version %}{% if user.is_authenticated %} | User: {{ request.user }}{% endif %} | <a href="https://ko-fi.com/ansible0guy">Tip Me</a>
© {% now 'Y' %} AnsibleGuy | Version {% get_version %}{% if user.is_authenticated %} | User: {{ request.user }}{% endif %} | <a href="https://ko-fi.com/ansible0guy">Support the project</a>
</div>
</div>
</footer>
Expand Down

0 comments on commit 3066006

Please sign in to comment.