Below is the list of test cases implemented as part of CORD Tester project to test ONOS igmp proxy module.
ID | Title | Function Name | Test steps | Expected Result | Actual Result |
Igmpproxy_1 | verify igmp proxy app installation in onos | test_igmpproxy_app_installation_in_onos | Install igmp proxy and its dependent apps in onos | Igmp proxy app installation in onos should success |
|
Igmpproxy_2 | verify configuring igmp proxy app in onos | test_igmpproxy_app_configuration_in_onos | config igmp proxy parameters in onos | Igmp proxy app configuration in onos should success |
|
Igmpproxy_3 | verify igmp proxy app forwards subscriber join onto proxy interface | test_igmpproxy_for_first_join |
| proxy app should forward the join packet onto proxy interface |
|
Igmpproxy_4 | verify igmp proxy with multiple connect points | test_igmpproxy_for_first_join_with_multiple_connect_points | verify igmp proxy allows only one connect point configuration | proxy app should not allow more than one connect point configuration |
|
Igmpproxy_5 | verify igmp proxy for multiple igmp groups | test_igmpproxy_for_two_joins_with_different_igmp_groups |
| proxy app should forward the join packet onto proxy interface |
|
Igmpproxy_6 | verify igmp proxy with app deactivate | test_igmpproxy_for_igmp_join_with_proxy_app_deactivate |
| proxy app should not forward the join packet onto proxy interface |
|
Igmpproxy_7 | verify igmp proxy with mcast app deactivate | test_igmpproxy_for_igmp_join_with_mcast_app_deactivate | 1.deactivate igmp proxy app 2.send igmp join from subscriber | proxy app should not forward the join packet onto proxy interface |
|
Igmpproxy_8 | verify igmp proxy with connect toggle | test_igmpproxy_for_igmp_join_when_connect_point_toggles | 1.send igmp join from subscriber 2.verify proxy forwards the join onto proxy interface | proxy app should forward the join packet onto proxy interface |
|
Igmpproxy_9 | verify proxy app forwards igmp join onto to new connect point | test_igmpproxy_forwards_already_registered_igmp_join_onto_changed_connect_point | 1.send igmp join from subscriber 2.change connect point 3. verify proxy forwards the join onto changed connect point | proxy app should forward the join packet onto changed proxy interface |
|
Igmpproxy_10 | verify proxy app when connect point changes | test_igmpproxy_for_igmp_join_when_connect_point_changes_after_first_join | 1. send igmp join from subscriber 2.change connect point 3. send one more join for other group 4.verify proxy forwards the join onto changed connect point | proxy app should forward the join packet onto changed proxy interface |
|
Igmpproxy_11 | verify if igmp proxy forwards igmp join onto non proxy interface | test_igmpproxy_for_igmp_joins_on_non_proxy_interface | 1.send igmp join from subscriber 2.verify proxy don’t forward the join onto non-proxy interfaces | proxy app should not forward the join packet onto non proxy interface |
|
Igmpproxy_12 | verify proxy sends group specific query when received from subscriber | test_igmpproxy_sends_group_specific_query_when_received_igmp_leave | 1.send igmp join from subscriber 2.send leave to the joined group 3.verify proxy sends group specific query | proxy app should send group specific query when leave received from subscriber |
|
Igmpproxy_13 | verify proxy sends group specific query when received from subscriber after changing connect point | test_igmpproxy_sends_group_specific_query_when_received_igmp_leave_changing_connect_point_after_join_sent | 1.send igmp join from subscriber 2.change connect point 3.send leave to the joined group 4.verify proxy sends group specific query | proxy app should send group specific query when leave received from subscriber |
|
Igmpproxy_14 | verify proxy app sends group specific query when two subscribers leaves same igmp group one after other | test_igmpproxy_verify_group_specific_query_sent_when_two_subscribers_leave_same_multicast_group_one_after_other | 1.send igmp join from two subscribers for same group 2.send leave for joined group one after another | proxy app should send group specific query when leave received from each subscriber |
|
Igmpproxy_15 | verify proxy app sends group specific query for all the groups subscriber leaves | test_igmpproxy_verify_group_specific_query_sent_for_all_the_groups_subscriber_leaves | 1.send igmp join for multiple groups 2.send leave to all joined groups 3.verify proxy sends group specific query | proxy app should send group specific query when leave received from subscriber for all the groups |
|
Igmpproxy_16 | verify igmp proxy fast leave | test_igmpproxy_enable_fast_leave | verify no group specific query sent when fast leave enabled | proxy app should not send group specific query when leave received from subscriber if fast leave enabled |
|
Igmpproxy_17 | verify igmp proxy for same igmp join with different sources | test_igmpproxy_for_igmp_join_for_same_group_with_different_source | 1.send igmp joins for same with different source | proxy app should forward the join onto proxy interface only once irrespective of no.of joins received |
|
Igmpproxy_18 | verify proxy functionality when proxy interface toggles | test_igmpproxy_after_proxy_interface_toggles | 1.send igmp join from subscriber 2.toggle proxy interface | proxy app should forward the join packet onto proxy interface |
|
Igmpproxy_19 | verify proxy functionality when subscriber interface toggles | test_igmpproxy_after_subscriber_interface_toggles | 1.send igmp join from subscriber 2.toggle subscriber interface | proxy app should forward the join packet onto proxy interface |
|
Igmpproxy_20 | verify proxy functionality when channel distributor link toggles | test_igmpproxy_after_channel_distributor_link_toggles_verify_traffic | 1.send igmp join from subscriber 2.channel distributor interface | proxy app should forward the data traffic when channel distributor interface active |
|
Igmpproxy_21 | verify igmp proxy functionality with data traffic | test_igmpproxy_with_join_and_verify_traffic | 1.send igmp join from subscriber 2.send traffic to joined group | proxy app should forward the data traffic when received from source |
|
Igmpproxy_22 | verify igmp proxy with data traffic for two subscribers join same group | test_igmpproxy_two_subscribers_join_same_igmp_group_verify_traffic | 1.send igmp join for same group from two subscribers 2.send traffic to group | proxy app should forward the data traffic to two subscribers when received from source |
|
Igmpproxy_23 | verify igmp proxy with data traffic for two subscribers join different group | test_igmpproxy_two_subscribers_join_different_igmp_group_verify_traffic | 3.send igmp join for two groups from two subscribers 2.send traffic to groups | proxy app should forward the data traffic when received to corresponding group |
|
Igmpproxy_24 | verify igmp proxy with data traffic while connect changes | test_igmpproxy_for_connect_point_changes_while_data_traffic_running | 1.send igmp join from a subscriber 2. change connect point 3. send traffic to group | proxy app should forward the data traffic when received from source |
|
Igmpproxy_25 | verify only joined subscriber receives data traffic | test_igmpproxy_igmp_group_joined_subscriber_only_receives_data_traffic_verify_traffic | 1. send igmp join from a subscriber 2. send traffic to group | proxy app should forward the data traffic to joined subscriber only |
|
Igmpproxy_26 | verify only joined group receives data traffic | test_igmpproxy_subscriber_receives_data_traffic_only_for_joined_groups | 1.send igmp join from a subscriber 2. send traffic to group | proxy app should forward the data traffic for joined groups only |
|
Igmpproxy_27 | verify igmp proxy functionality after onos restart | test_igmpproxy_subscriber_receives_data_traffic_after_onos_restartr | 1.send igmp join from a subscriber
| proxy app should forward the data traffic when received |
|
Igmpproxy_28 | verify igmp proxy data traffic when source connected to proxy interface | test_igmpproxy_subscriber_receives_igmp_data_traffic_when_source_connected_on_connect_point_interface | 1.send igmp join from a subscriber 2. send traffic to group | proxy app should forward the data traffic when received |
|
Igmpproxy_29 | verify igmp proxy if join received on proxy interface | test_igmpproxy_igmp_joins_received_on_proxy_interface_cant_be_processed_verify_traffic | 1.send igmp join from a subscriber on connect point interface 2. send traffic to group | proxy should not process join packets received on proxy interface |
|
Igmpproxy_30 | verify igmp proxy subscriber leaves group | test_igmpproxy_with_leave_and_verify_traffic | 1.send igmp join from a subscriber 2. send leave to the group 3.send traffic to group | proxy app should not forward the data traffic to subscriber after receiving leave |
|
Igmpproxy_31 | verify igmp proxy data traffic for non joined group | test_igmpproxy_data_traffic_for_non_joined_group | 1.send igmp join from a subscriber 2. send traffic to non-registered group | proxy app should forward data traffic to registered groups only |
|
Igmpproxy_32 | verify igmp proxy for join and leave loop | test_igmpproxy_with_leave_and_join_loop | 1.send igmp join and leave multiple times | proxy app should process leave and join requests received multiple times for same groups |
|
Igmpproxy_33 | verify igmp group join latency for 1 group | test_igmpproxy_with_1group_join_latency | 1.send igmp join from a subscriber | Calculate latency of one igmp join |
|
Igmpproxy_34 | verify igmp group join latency for 2 group | test_igmpproxy_with_2group_join_latency | 1.send two igmp joins from a subscriber | Calculate latency of two igmp joins |
|
Igmpproxy_35 | verify igmp group join latency for multiple group | test_igmpproxy_with_Ngroup_join_latency | 1.send multiple igmp joins from a subscriber | Calculate latency of multiple igmp joins |
|
Igmpproxy_36 | verify igmp groups join rover | test_igmpproxy_with_join_rover | 1.send igmp joins from a subscriber for a range of multicast addresses | subscriber should be able to join all valid multicast groups |
|
Igmpproxy_37 | verfiy igmp proxy sends periodic queries onto subscriber interface | test_igmpproxy_sends_periodic_general_query_on_subscriber_connected_segment | 1.send igmp join from a subscriber | proxy app should send periodic general queries onto subscriber connected interfaces |
|
Igmpproxy_38 | verfiy igmp proxy sends periodic queries onto proxy interface | test_igmpproxy_not_sends_periodic_general_query_on_proxy_connected_interface | 1.send igmp join from a subscriber | proxy app should not send periodic general queries onto connect point interface |
|
Igmpproxy_39 | verify one subscriber joins n leaves two groups | test_igmpproxy_two_joins_one_leave_from_same_subscriber_verify_traffic | 1.send igmp two joins from a subscribers for two groups 2.send leave for one group | subscriber should not receive data traffic for left groups |
|
Igmpproxy_40 | verify two subscribers joins a group and one subscriber goes down | test_igmpproxy_two_subscribers_joins_igmp_group_one_subscriber_goes_down_verify_traffic | 1.send igmp joins from two subscribers 2.shutdown one subscriber | The active subscriber should receive data traffic irrespective of status of other subscriber |
|
Igmpproxy_41 | verify two subscribers joins two groups and one subscriber leaves | test_igmpproxy_two_subscribers_joins_different_igmp_groups_one_subscriber_leaves_verify_traffic | 1.send igmp joins form two subscribers 2.send leave from one subscriber
| The active subscriber should receive data traffic irrespective of status of other subscriber |
|
Igmpproxy_42 | verify two subscribers joins same group and one subscriber leaves fast leave enabled | test_igmpproxy_two_subscribers_joins_same_igmp_group_one_subscriber_leaves_fast_leave_enabled_verify_traffic | 1.send igmp joins form two subscribers for same group 2.send leave from one subscriber | proxy app should not send group specific query when leave received and if fast leave enabled |
|
Igmpproxy_43 | verify igmp proxy data traffic when source connected to proxy interface | test_igmpproxy_multicast_source_connected_on_proxy_connected_interface | 1.send igmp join from a subscriber 2. send traffic to group | proxy app should forward data traffic to subscriber interface |
|
Igmpproxy_44 | verify igmp data traffic for subscriber joined with exclude record type | test_igmpproxy_drops_multicast_traffic_for_exclude_record_type_group | 1.send igmp join with exclude record type 2.send traffic to the group | proxy app should not forward data traffic to subscriber interface |
|
Igmpproxy_45 | verify igmp data traffic for subscriber joined with exclude record type | test_igmpproxy_drops_multicast_traffic_for_exclude_record_type_with_empty_source_list | 3.send igmp join with exclude record type 2.send traffic to the group | proxy app should forward data traffic to subscriber interface |
|
Igmpproxy_46 | verify igmp proxy for inlcude and exclude record types | test_igmpproxy_two_subscriber_joins_include_and_exclude_mode_record_types_verify_traffic | 1.send igmp joins from two subscribers with include and exclude record types | proxy app should forward data traffic to subscriber with include mode join sent |
|
Igmpproxy_47 | igmp proxy for inlcude and exclude record types verify traffic | test_igmpproxy_subscriber_joins_include_and_exclude_mode_record_types_verify_traffic | 1.send igmp join with include and exclude record types 2.send data traffic to the groups
| proxy app should forward data traffic to subscriber with include mode join sent |
|
Igmpproxy_48 | verify subscriber changes record type from exclude to include mode | test_igmpproxy_subscriber_join_type_chnage_from_exclude_to_to_include_verify_traffic | 1.send igmp join with exclude type record type 2.send igmp join to change record type to include mode 3.send traffic | proxy app should forward data traffic to subscriber after record type changed to include mode only |
|
Igmpproxy_49 | verify igmp proxy for allow new sources record types | test_igmpproxy_allow_new_sources_mode_record_type_verify_traffic | 1.send igmp join from a subscriber 2.send igmp join to add more sources 3.send traffic | proxy app should forward the allowed sources information to upstream multicast router |
|
Igmpproxy_50 | verify igmp proxy for black old sources record types | test_igmpproxy_block_old_sources_mode_record_type_verify_traffic | 1.send igmp join from a subscriber 2.send igmp join to block old sources 3.send traffic | proxy app should forward the blocked sources information to upstream multicast router |
|
Igmpproxy_51 | verify subscriber sends join with 0.0.0.0 source ip | test_igmpproxy_with_subscriber_source_ip_0_0_0_0_verify_traffic | 1.send igmp join with 0.0.0.0 source ip 2.send traffic to the group | subscriber should be able join igmp group |
|
Igmpproxy_52 | verify igmp join for invalid multicast address | test_igmpproxy_for_invalid_multicast_group_address_verify_traffic | 1.send igmp join to invalid multicast group address
|
|
|
Igmpproxy_53 | verify igmp proxy on onos cluster setup | test_igmpproxy_for_first_join_verify_traffic_on_onos_cluster_setup | 1.send igmp join from a subscriber | proxy app should forward the data traffic to subscriber received from source |
|
Igmpproxy_54 | verify igmp proxy on onos cluster setup when cluster master changed | test_igmpproxy_verify_igmp_data_traffic_after_cluster_master_change | 1.send igmp join from a subscriber 2.change cluster master 3.send traffic to the group | proxy app should forward the data traffic to subscriber received from source |
|
Igmpproxy_55 | verify igmp proxy for igmp leave on onos cluster setup when master changed | test_igmpproxy_verify_proxy_sends_group_specific_query_when_leave_received_after_cluster_master_change | 1.send igmp join from a subscriber 2.change cluster master 3.send leave to the group | proxy app should send group specific query when leave received |
|
Igmpproxy_56 | verify igmp proxy for igmp leave on onos cluster setup when member restarted | test_igmpproxy_verify_proxy_sends_group_specific_query_when_leave_received_after_cluster_member_restart | send igmp join from a subscriber 2.restart cluster member 3.send leave to the group | proxy app should send group specific query when leave received |
|
Igmpproxy_57 | verify igmp data traffic while cluster restart | test_igmpproxy_verify_igmp_data_traffic_while_cluster_restart | 1.send igmp join 2.send data traffic to the group 3.restart cluster | subscriber should not receive data traffic after cluster restart |
|
Igmpproxy_58 | verify new subscriber joined same group after clusrer master restart | test_igmpproxy_one_more_subscriber_joined_same_group_after_cluster_master_restart | 1.send igmp join from a subscriber 2.restart cluster master 3.send igmp join to the same group from another subscriber 4.send traffic to the group | Another subscriber should be able to join after cluster master restart |
|
Igmpproxy_59 | verify subscriber receives data traffic while radius server restart | test_igmpproxy_subscriber_receives_data_traffic_while_radius_server_restart | 1.send igmp join from a subscriber 2.send data traffic to the group 3.restart radius server | proxy app should forward data traffic to subscriber when received from source |
|
Igmpproxy_60 | verify subscriber leaves joined group while radius server restart | test_igmpproxy_verify_proxy_sends_group_specific_query_while_radius_server_restart | 1.send igmp join from a subscriber 2.send data traffic to the group 3.restart radius server 4.send leave to the group | proxy app should send group specific query when leave received |
|
Igmpproxy_61 | verify subscriber gets dhcp ip first and then joins igmp group | test_igmpproxy_subscriber_jons_igmp_group_after_getting_dhcp_ip | 1.send dhcp discover from a subscriber 2.send igmp jon after getting dhcp ip | subscriber should get dhcp ip subscriber should be able to join igmp group |
|
Igmpproxy_62 | verify subscriber data traffic after dhcp lease time expires | test_igmpproxy_verify_igmp_data_traffic_after_dhcp_lease_time_expires | 1.send dhcp discover from a subscriber 2.send igmp jon after getting dhcp ip 3.send traffic till dhcp ip lease time expires | subscriber should get dhcp ip subscriber should not receive multicast traffic after dhcp lease time expires |