Skip to content

Commit

Permalink
More tests
Browse files Browse the repository at this point in the history
  • Loading branch information
sfodagain committed Feb 3, 2025
1 parent 386e991 commit af67f9c
Show file tree
Hide file tree
Showing 2 changed files with 95 additions and 0 deletions.
2 changes: 2 additions & 0 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -582,6 +582,8 @@ add_test_case(rrs_init_cleanup)
add_test_case(rrs_stream_subscriptions_match_single_level_wildcards)
add_test_case(rrs_stream_subscriptions_match_multi_level_wildcards)
add_test_case(rrs_stream_subscriptions_add_duplicate)
add_test_case(rrs_stream_subscriptions_too_long_publish_topic)
add_test_case(rrs_stream_subscriptions_too_short_publish_topic)
add_test_case(rrs_request_subscriptions_add_single_subscription)
add_test_case(rrs_request_subscriptions_remove_subscription)
add_test_case(rrs_request_subscriptions_add_duplicate_then_remove)
Expand Down
93 changes: 93 additions & 0 deletions tests/request-response/request_response_client_tests.c
Original file line number Diff line number Diff line change
Expand Up @@ -3623,6 +3623,99 @@ static int s_rrs_stream_subscriptions_add_duplicate_fn(struct aws_allocator *all

AWS_TEST_CASE(rrs_stream_subscriptions_add_duplicate, s_rrs_stream_subscriptions_add_duplicate_fn)

static int s_rrs_stream_subscriptions_too_long_publish_topic_fn(struct aws_allocator *allocator, void *ctx) {
(void)ctx;

struct aws_request_response_subscriptions subscriptions;

aws_mqtt_request_response_client_subscriptions_init(&subscriptions, allocator);

struct aws_byte_cursor topic_filter1 = aws_byte_cursor_from_c_str("topic/123/+");

struct aws_byte_cursor topic1 = aws_byte_cursor_from_c_str("topic/123/abc/def");
struct aws_byte_cursor payload1 = aws_byte_cursor_from_c_str("Payload1");

aws_mqtt_request_response_client_subscriptions_add_stream_subscription(&subscriptions, &topic_filter1);
aws_mqtt_request_response_client_subscriptions_add_stream_subscription(&subscriptions, &topic_filter1);

struct aws_protocol_adapter_incoming_publish_event publish_event = {
.topic = topic1,
.payload = payload1,
};

struct aws_rr_client_fixture_subscriptions_matches_record *record =
s_aws_rr_client_fixture_subscriptions_matches_record_new(allocator);

aws_mqtt_request_response_client_subscriptions_match(
&subscriptions,
&publish_event,
s_rrs_fixture_on_stream_operation_subscription_match,
s_rrs_fixture_on_request_operation_subscription_match,
record);

ASSERT_SUCCESS(s_rrc_verify_subscriptions_publishes(
record,
0, /* expected_stream_matches_count */
NULL,
0, /* expected_request_matches_count */
NULL));

s_aws_rr_client_fixture_subscriptions_macthes_record_delete(record);

aws_mqtt_request_response_client_subscriptions_clean_up(&subscriptions);

return AWS_OP_SUCCESS;
}

AWS_TEST_CASE(rrs_stream_subscriptions_too_long_publish_topic, s_rrs_stream_subscriptions_too_long_publish_topic_fn)

static int s_rrs_stream_subscriptions_too_short_publish_topic_fn(struct aws_allocator *allocator, void *ctx) {
(void)ctx;

struct aws_request_response_subscriptions subscriptions;

aws_mqtt_request_response_client_subscriptions_init(&subscriptions, allocator);

struct aws_byte_cursor topic_filter1 = aws_byte_cursor_from_c_str("topic/123/+");

struct aws_byte_cursor topic1 = aws_byte_cursor_from_c_str("topic/123");
struct aws_byte_cursor payload1 = aws_byte_cursor_from_c_str("Payload1");

aws_mqtt_request_response_client_subscriptions_add_stream_subscription(&subscriptions, &topic_filter1);
aws_mqtt_request_response_client_subscriptions_add_stream_subscription(&subscriptions, &topic_filter1);

struct aws_protocol_adapter_incoming_publish_event publish_event = {
.topic = topic1,
.payload = payload1,
};

struct aws_rr_client_fixture_subscriptions_matches_record *record =
s_aws_rr_client_fixture_subscriptions_matches_record_new(allocator);

aws_mqtt_request_response_client_subscriptions_match(
&subscriptions,
&publish_event,
s_rrs_fixture_on_stream_operation_subscription_match,
s_rrs_fixture_on_request_operation_subscription_match,
record);

ASSERT_SUCCESS(s_rrc_verify_subscriptions_publishes(
record,
0, /* expected_stream_matches_count */
NULL,
0, /* expected_request_matches_count */
NULL));


s_aws_rr_client_fixture_subscriptions_macthes_record_delete(record);

aws_mqtt_request_response_client_subscriptions_clean_up(&subscriptions);

return AWS_OP_SUCCESS;
}

AWS_TEST_CASE(rrs_stream_subscriptions_too_short_publish_topic, s_rrs_stream_subscriptions_too_short_publish_topic_fn)

static int s_rrs_request_subscriptions_add_single_subscription_fn(struct aws_allocator *allocator, void *ctx) {
(void)ctx;

Expand Down

0 comments on commit af67f9c

Please sign in to comment.