Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding 2nd set of Test Scripts for create set and remove on the api attribut… #197

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions tests/api/test_dash_acl_rule.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
from pprint import pprint

import pytest

@pytest.fixture(scope="module", autouse=True)
def skip_all(testbed_instance):
testbed = testbed_instance
if testbed is not None and len(testbed.dpu) != 1:
pytest.skip("invalid for \"{}\" testbed".format(testbed.name))

@pytest.mark.dpu
class TestSaiDashAclRule:
# object with parent SAI_OBJECT_TYPE_DASH_ACL_GROUP

def test_dash_acl_rule_create(self, dpu):
commands = [
{
'name': 'dash_acl_group_1',
'op': 'create',
'type': 'SAI_OBJECT_TYPE_DASH_ACL_GROUP',
'attributes': ['SAI_DASH_ACL_GROUP_ATTR_IP_ADDR_FAMILY', 'SAI_IP_ADDR_FAMILY_IPV4',],
},
{
'name': 'dash_acl_rule_1',
'op': 'create',
'type': 'SAI_OBJECT_TYPE_DASH_ACL_RULE',
'attributes': [
'SAI_DASH_ACL_RULE_ATTR_DASH_ACL_GROUP_ID','$dash_acl_group_1',
'SAI_DASH_ACL_RULE_ATTR_DIP','1.1.1.1',
'SAI_DASH_ACL_RULE_ATTR_SIP','2.2.2.2',
'SAI_DASH_ACL_RULE_ATTR_PROTOCOL','17',
'SAI_DASH_ACL_RULE_ATTR_SRC_PORT','5678',
'SAI_DASH_ACL_RULE_ATTR_DST_PORT','8765',
'SAI_DASH_ACL_RULE_ATTR_PRIORITY','10',
],
},
]

results = [*dpu.process_commands(commands)]
print('======= SAI commands RETURN values create =======')
pprint(results)

@pytest.mark.dependency(name='test_sai_dash_acl_rule_attr_action_set')
def test_sai_dash_acl_rule_attr_action_set(self, dpu):
commands = [
{
'name': 'dash_acl_rule_1',
'op': 'set',
'attributes': [
'SAI_DASH_ACL_RULE_ATTR_ACTION',
'SAI_DASH_ACL_RULE_ACTION_PERMIT',
],
}
]
results = [*dpu.process_commands(commands)]
print('======= SAI commands RETURN values set =======')
pprint(results)


def test_dash_acl_rule_remove(self, dpu):
commands = [
{'name': 'dash_acl_rule_1', 'op': 'remove'},
{'name': 'dash_acl_group_1', 'op': 'remove'},
]

results = [*dpu.process_commands(commands)]
print('======= SAI commands RETURN values remove =======')
pprint(results)
71 changes: 71 additions & 0 deletions tests/api/test_eni_ether_address_map_entry.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
from pprint import pprint

import pytest

@pytest.fixture(scope="module", autouse=True)
def skip_all(testbed_instance):
testbed = testbed_instance
if testbed is not None and len(testbed.dpu) != 1:
pytest.skip("invalid for \"{}\" testbed".format(testbed.name))

@pytest.mark.dpu
class TestSaiEniEtherAddressMapEntry:
# object with no attributes

def test_eni_ether_address_map_entry_create(self, dpu):
commands = [
{"name": "vnet","op": "create","type": "SAI_OBJECT_TYPE_VNET","attributes": ["SAI_VNET_ATTR_VNI","2000"]},
{
"name": "eni_1",
"op": "create",
"type": "SAI_OBJECT_TYPE_ENI",
"attributes": [
"SAI_ENI_ATTR_ADMIN_STATE","True",
"SAI_ENI_ATTR_VM_UNDERLAY_DIP","10.10.1.10",
"SAI_ENI_ATTR_VM_VNI","2000",
"SAI_ENI_ATTR_VNET_ID","$vnet",
]
},
{
'name': 'eni_ether_address_map_entry_1',
'op': 'create',
'type': 'SAI_OBJECT_TYPE_ENI_ETHER_ADDRESS_MAP_ENTRY',
'attributes': ["SAI_ENI_ETHER_ADDRESS_MAP_ENTRY_ATTR_ENI_ID","$eni_1"],
'key': {'switch_id': '$SWITCH_ID', 'address': '00:AA:AA:AA:AB:00'},
}
]

results = [*dpu.process_commands(commands)]
print('\n======= SAI commands RETURN values create =======\n')
pprint(results)

@pytest.mark.dependency(name='test_sai_eni_ether_address_map_entry_attr_eni_id_set')
def test_sai_eni_ether_address_map_entry_attr_eni_id_set(self, dpu):
commands = [
{
'name': 'eni_ether_address_map_entry_1',
'op': 'set',
'attributes': ['SAI_ENI_ETHER_ADDRESS_MAP_ENTRY_ATTR_ENI_ID', 'null'],
}
]
results = [*dpu.process_commands(commands)]
print('\n======= SAI commands RETURN values set =======\n')
pprint(results)


def test_eni_ether_address_map_entry_remove(self, dpu):
commands = [

{
'name': 'eni_ether_address_map_entry_1',
'key': {'switch_id': '$SWITCH_ID', 'address': '00:AA:AA:AA:AB:00'},
'op': 'remove',
},
{'name': 'eni_1', 'op': 'remove'},
{"name": "vnet","op": "remove"},
]

results = [*dpu.process_commands(commands)]
print('\n======= SAI commands RETURN values remove =======\n')
pprint(results)

132 changes: 132 additions & 0 deletions tests/api/test_outbound_routing_entry.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
from pprint import pprint

import pytest

@pytest.fixture(scope="module", autouse=True)
def skip_all(testbed_instance):
testbed = testbed_instance
if testbed is not None and len(testbed.dpu) != 1:
pytest.skip("invalid for \"{}\" testbed".format(testbed.name))


@pytest.mark.dpu
class TestSaiOutboundRoutingEntry:
# object with no attributes

def test_outbound_routing_entry_create(self, dpu):
commands = [
{"name": "vnet","op": "create","type": "SAI_OBJECT_TYPE_VNET","attributes": ["SAI_VNET_ATTR_VNI","2000"]},
{
"name": "eni_1",
"op": "create",
"type": "SAI_OBJECT_TYPE_ENI",
"attributes": [
"SAI_ENI_ATTR_ADMIN_STATE","True",
"SAI_ENI_ATTR_VM_UNDERLAY_DIP","10.10.1.10",
"SAI_ENI_ATTR_VM_VNI","2000",
"SAI_ENI_ATTR_VNET_ID","$vnet",
]
},
{
'name': 'outbound_routing_entry_1',
'op': 'create',
'type': 'SAI_OBJECT_TYPE_OUTBOUND_ROUTING_ENTRY',
'attributes': ["SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION", "SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET","SAI_OUTBOUND_ROUTING_ENTRY_ATTR_DST_VNET_ID", "$vnet"],
'key': {
'switch_id': '$SWITCH_ID',
'eni_id': '$eni_1',
'destination': '10.1.0.0/16',
},
}
]

results = [*dpu.process_commands(commands)]
print('\n======= SAI commands RETURN values create =======\n')
pprint(results)

@pytest.mark.dependency(name='test_sai_outbound_routing_entry_attr_action_set')
def test_sai_outbound_routing_entry_attr_action_set(self, dpu):
commands = [
{
'name': 'outbound_routing_entry_1',
'op': 'set',
'attributes': [
'SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION',
'SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET',
"SAI_OUTBOUND_ROUTING_ENTRY_ATTR_DST_VNET_ID", "$vnet"
],
}
]
results = [*dpu.process_commands(commands)]
print('\n======= SAI commands RETURN values set =======\n')
pprint(results)


@pytest.mark.dependency(name='test_sai_outbound_routing_entry_attr_dst_vnet_id_set')
def test_sai_outbound_routing_entry_attr_dst_vnet_id_set(self, dpu):
commands = [
{
'name': 'outbound_routing_entry_1',
'op': 'set',
'attributes': [
'SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION',
'SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET',
"SAI_OUTBOUND_ROUTING_ENTRY_ATTR_DST_VNET_ID", "$vnet"
],
}
]
results = [*dpu.process_commands(commands)]
print('\n======= SAI commands RETURN values set =======\n')
pprint(results)




@pytest.mark.dependency(name='test_sai_outbound_routing_entry_attr_overlay_ip_set')
def test_sai_outbound_routing_entry_attr_overlay_ip_set(self, dpu):
commands = [
{
'name': 'outbound_routing_entry_1',
'op': 'set',
'attributes': ['SAI_OUTBOUND_ROUTING_ENTRY_ATTR_OVERLAY_IP', '0.0.0.0'],
}
]
results = [*dpu.process_commands(commands)]
print('\n======= SAI commands RETURN values set =======\n')
pprint(results)


@pytest.mark.dependency(name='test_sai_outbound_routing_entry_attr_counter_id_set')
def test_sai_outbound_routing_entry_attr_counter_id_set(self, dpu):
commands = [
{
'name': 'outbound_routing_entry_1',
'op': 'set',
'attributes': ['SAI_OUTBOUND_ROUTING_ENTRY_ATTR_COUNTER_ID', 'null'],
}
]
results = [*dpu.process_commands(commands)]
print('\n======= SAI commands RETURN values set =======\n')
pprint(results)



def test_outbound_routing_entry_remove(self, dpu):
commands = [
{
'name': 'outbound_routing_entry_1',
'key': {
'switch_id': '$SWITCH_ID',
'eni_id': '$eni_1',
'destination': '10.1.0.0/16',
},
'op': 'remove',
},
{'name': 'eni_1', 'op': 'remove'},
{"name": "vnet","op": "remove"},

]

results = [*dpu.process_commands(commands)]
print('======= SAI commands RETURN values remove =======')
pprint(results)