mirror of
https://github.com/ansible/awx.git
synced 2026-03-17 08:57:33 -02:30
Adjust Instance-InstanceGroup tests to show that the ActivityStream is captured
This commit is contained in:
@@ -34,7 +34,6 @@ from awx.main.models import (
|
|||||||
ExecutionEnvironment,
|
ExecutionEnvironment,
|
||||||
Group,
|
Group,
|
||||||
Host,
|
Host,
|
||||||
InstanceGroup,
|
|
||||||
Inventory,
|
Inventory,
|
||||||
InventorySource,
|
InventorySource,
|
||||||
Job,
|
Job,
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import pytest
|
|||||||
|
|
||||||
from awx.api.versioning import reverse
|
from awx.api.versioning import reverse
|
||||||
from awx.main.models import (
|
from awx.main.models import (
|
||||||
|
ActivityStream,
|
||||||
Instance,
|
Instance,
|
||||||
InstanceGroup,
|
InstanceGroup,
|
||||||
ProjectUpdate,
|
ProjectUpdate,
|
||||||
@@ -213,9 +214,23 @@ def test_containerized_group_default_fields(instance_group, kube_credential):
|
|||||||
def test_instance_attach_to_instance_group(post, instance_group, node_type_instance, admin, node_type):
|
def test_instance_attach_to_instance_group(post, instance_group, node_type_instance, admin, node_type):
|
||||||
instance = node_type_instance(hostname=node_type, node_type=node_type)
|
instance = node_type_instance(hostname=node_type, node_type=node_type)
|
||||||
|
|
||||||
|
count = ActivityStream.objects.count()
|
||||||
|
|
||||||
url = reverse(f'api:instance_group_instance_list', kwargs={'pk': instance_group.pk})
|
url = reverse(f'api:instance_group_instance_list', kwargs={'pk': instance_group.pk})
|
||||||
post(url, {'associate': True, 'id': instance.id}, admin, expect=204 if node_type != 'control' else 400)
|
post(url, {'associate': True, 'id': instance.id}, admin, expect=204 if node_type != 'control' else 400)
|
||||||
|
|
||||||
|
new_activity = ActivityStream.objects.all()[count:]
|
||||||
|
if node_type != 'control':
|
||||||
|
assert len(new_activity) == 2 # the second is an update of the instance group policy
|
||||||
|
new_activity = new_activity[0]
|
||||||
|
assert new_activity.operation == 'associate'
|
||||||
|
assert new_activity.object1 == 'instance_group'
|
||||||
|
assert new_activity.object2 == 'instance'
|
||||||
|
assert new_activity.instance.first() == instance
|
||||||
|
assert new_activity.instance_group.first() == instance_group
|
||||||
|
else:
|
||||||
|
assert not new_activity
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
@pytest.mark.parametrize('node_type', ['control', 'hybrid', 'execution'])
|
@pytest.mark.parametrize('node_type', ['control', 'hybrid', 'execution'])
|
||||||
@@ -223,18 +238,46 @@ def test_instance_unattach_from_instance_group(post, instance_group, node_type_i
|
|||||||
instance = node_type_instance(hostname=node_type, node_type=node_type)
|
instance = node_type_instance(hostname=node_type, node_type=node_type)
|
||||||
instance_group.instances.add(instance)
|
instance_group.instances.add(instance)
|
||||||
|
|
||||||
|
count = ActivityStream.objects.count()
|
||||||
|
|
||||||
url = reverse(f'api:instance_group_instance_list', kwargs={'pk': instance_group.pk})
|
url = reverse(f'api:instance_group_instance_list', kwargs={'pk': instance_group.pk})
|
||||||
post(url, {'disassociate': True, 'id': instance.id}, admin, expect=204 if node_type != 'control' else 400)
|
post(url, {'disassociate': True, 'id': instance.id}, admin, expect=204 if node_type != 'control' else 400)
|
||||||
|
|
||||||
|
new_activity = ActivityStream.objects.all()[count:]
|
||||||
|
if node_type != 'control':
|
||||||
|
assert len(new_activity) == 1
|
||||||
|
new_activity = new_activity[0]
|
||||||
|
assert new_activity.operation == 'disassociate'
|
||||||
|
assert new_activity.object1 == 'instance_group'
|
||||||
|
assert new_activity.object2 == 'instance'
|
||||||
|
assert new_activity.instance.first() == instance
|
||||||
|
assert new_activity.instance_group.first() == instance_group
|
||||||
|
else:
|
||||||
|
assert not new_activity
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
@pytest.mark.parametrize('node_type', ['control', 'hybrid', 'execution'])
|
@pytest.mark.parametrize('node_type', ['control', 'hybrid', 'execution'])
|
||||||
def test_instance_group_attach_to_instance(post, instance_group, node_type_instance, admin, node_type):
|
def test_instance_group_attach_to_instance(post, instance_group, node_type_instance, admin, node_type):
|
||||||
instance = node_type_instance(hostname=node_type, node_type=node_type)
|
instance = node_type_instance(hostname=node_type, node_type=node_type)
|
||||||
|
|
||||||
|
count = ActivityStream.objects.count()
|
||||||
|
|
||||||
url = reverse(f'api:instance_instance_groups_list', kwargs={'pk': instance.pk})
|
url = reverse(f'api:instance_instance_groups_list', kwargs={'pk': instance.pk})
|
||||||
post(url, {'associate': True, 'id': instance_group.id}, admin, expect=204 if node_type != 'control' else 400)
|
post(url, {'associate': True, 'id': instance_group.id}, admin, expect=204 if node_type != 'control' else 400)
|
||||||
|
|
||||||
|
new_activity = ActivityStream.objects.all()[count:]
|
||||||
|
if node_type != 'control':
|
||||||
|
assert len(new_activity) == 2 # the second is an update of the instance group policy
|
||||||
|
new_activity = new_activity[0]
|
||||||
|
assert new_activity.operation == 'associate'
|
||||||
|
assert new_activity.object1 == 'instance'
|
||||||
|
assert new_activity.object2 == 'instance_group'
|
||||||
|
assert new_activity.instance.first() == instance
|
||||||
|
assert new_activity.instance_group.first() == instance_group
|
||||||
|
else:
|
||||||
|
assert not new_activity
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
@pytest.mark.parametrize('node_type', ['control', 'hybrid', 'execution'])
|
@pytest.mark.parametrize('node_type', ['control', 'hybrid', 'execution'])
|
||||||
@@ -242,5 +285,19 @@ def test_instance_group_unattach_from_instance(post, instance_group, node_type_i
|
|||||||
instance = node_type_instance(hostname=node_type, node_type=node_type)
|
instance = node_type_instance(hostname=node_type, node_type=node_type)
|
||||||
instance_group.instances.add(instance)
|
instance_group.instances.add(instance)
|
||||||
|
|
||||||
|
count = ActivityStream.objects.count()
|
||||||
|
|
||||||
url = reverse(f'api:instance_instance_groups_list', kwargs={'pk': instance.pk})
|
url = reverse(f'api:instance_instance_groups_list', kwargs={'pk': instance.pk})
|
||||||
post(url, {'disassociate': True, 'id': instance_group.id}, admin, expect=204 if node_type != 'control' else 400)
|
post(url, {'disassociate': True, 'id': instance_group.id}, admin, expect=204 if node_type != 'control' else 400)
|
||||||
|
|
||||||
|
new_activity = ActivityStream.objects.all()[count:]
|
||||||
|
if node_type != 'control':
|
||||||
|
assert len(new_activity) == 1
|
||||||
|
new_activity = new_activity[0]
|
||||||
|
assert new_activity.operation == 'disassociate'
|
||||||
|
assert new_activity.object1 == 'instance'
|
||||||
|
assert new_activity.object2 == 'instance_group'
|
||||||
|
assert new_activity.instance.first() == instance
|
||||||
|
assert new_activity.instance_group.first() == instance_group
|
||||||
|
else:
|
||||||
|
assert not new_activity
|
||||||
|
|||||||
Reference in New Issue
Block a user