Skip to content

Commit

Permalink
Merge pull request #150 from billpittman/feature/validator/empty_auth…
Browse files Browse the repository at this point in the history
…ority_name
  • Loading branch information
gregmedd authored Jun 10, 2024
2 parents 7a6f9fc + 8b09a93 commit 71b5f11
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 32 deletions.
24 changes: 4 additions & 20 deletions src/datamodel/validator/UUri.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,6 @@ ValidationResult isValid(const v1::UUri& uuri) {
}

ValidationResult isValidRpcMethod(const v1::UUri& uuri) {
if (uuri.authority_name().empty()) {
return {false, Reason::EMPTY};
}

// disallow wildcards
if (uses_wildcards(uuri)) {
return {false, Reason::DISALLOWED_WILDCARD};
Expand All @@ -97,10 +93,6 @@ ValidationResult isValidRpcMethod(const v1::UUri& uuri) {
}

ValidationResult isValidRpcResponse(const v1::UUri& uuri) {
if (uuri.authority_name().empty()) {
return {false, Reason::EMPTY};
}

// disallow wildcards
if (uses_wildcards(uuri)) {
return {false, Reason::DISALLOWED_WILDCARD};
Expand All @@ -113,14 +105,14 @@ ValidationResult isValidRpcResponse(const v1::UUri& uuri) {
}

ValidationResult isValidDefaultSource(const v1::UUri& uuri) {
return isValidRpcResponse(uuri);
}

ValidationResult isValidPublishTopic(const v1::UUri& uuri) {
if (uuri.authority_name().empty()) {
return {false, Reason::EMPTY};
}

return isValidRpcResponse(uuri);
}

ValidationResult isValidPublishTopic(const v1::UUri& uuri) {
// disallow wildcards
if (uses_wildcards(uuri)) {
return {false, Reason::DISALLOWED_WILDCARD};
Expand All @@ -134,10 +126,6 @@ ValidationResult isValidPublishTopic(const v1::UUri& uuri) {
}

ValidationResult isValidNotification(const v1::UUri& uuri) {
if (uuri.authority_name().empty()) {
return {false, Reason::EMPTY};
}

// disallow wildcards
if (uses_wildcards(uuri)) {
return {false, Reason::DISALLOWED_WILDCARD};
Expand All @@ -155,10 +143,6 @@ ValidationResult isValidNotification(const v1::UUri& uuri) {
}

ValidationResult isValidSubscription(const v1::UUri& uuri) {
if (uuri.authority_name().empty()) {
return {false, Reason::EMPTY};
}

if (uuri.resource_id() < 0x8000 || uuri.resource_id() > 0xFFFF) {
return {false, Reason::BAD_RESOURCE_ID};
}
Expand Down
43 changes: 31 additions & 12 deletions test/coverage/datamodel/UUriValidatorTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ TEST_F(TestUUriValidator, Valid) {
auto uuri = getUuri();
uuri.set_authority_name("");
auto [valid, reason] = isValid(uuri);
EXPECT_FALSE(valid);
EXPECT_TRUE(reason == Reason::EMPTY);
EXPECT_TRUE(valid);
EXPECT_FALSE(reason.has_value());
}

{
Expand Down Expand Up @@ -180,8 +180,8 @@ TEST_F(TestUUriValidator, ValidRpcMethod) {
auto uuri = getUuri();
uuri.set_authority_name("");
auto [valid, reason] = isValidRpcMethod(uuri);
EXPECT_FALSE(valid);
EXPECT_TRUE(reason == Reason::EMPTY);
EXPECT_TRUE(valid);
EXPECT_FALSE(reason.has_value());
}

{
Expand Down Expand Up @@ -230,8 +230,8 @@ TEST_F(TestUUriValidator, ValidRpcResponse) {
auto uuri = getUuri();
uuri.set_authority_name("");
auto [valid, reason] = isValidRpcResponse(uuri);
EXPECT_FALSE(valid);
EXPECT_TRUE(reason == Reason::EMPTY);
EXPECT_TRUE(valid);
EXPECT_FALSE(reason.has_value());
}

{
Expand Down Expand Up @@ -280,8 +280,8 @@ TEST_F(TestUUriValidator, ValidPublishTopic) {
auto uuri = getUuri();
uuri.set_authority_name("");
auto [valid, reason] = isValidPublishTopic(uuri);
EXPECT_FALSE(valid);
EXPECT_TRUE(reason == Reason::EMPTY);
EXPECT_TRUE(valid);
EXPECT_FALSE(reason.has_value());
}

{
Expand Down Expand Up @@ -338,8 +338,8 @@ TEST_F(TestUUriValidator, ValidNotification) {
auto uuri = getUuri();
uuri.set_authority_name("");
auto [valid, reason] = isValidNotification(uuri);
EXPECT_FALSE(valid);
EXPECT_TRUE(reason == Reason::EMPTY);
EXPECT_TRUE(valid);
EXPECT_FALSE(reason.has_value());
}

{
Expand Down Expand Up @@ -397,8 +397,8 @@ TEST_F(TestUUriValidator, ValidSubscription) {
auto uuri = getUuri();
uuri.set_authority_name("");
auto [valid, reason] = isValidSubscription(uuri);
EXPECT_FALSE(valid);
EXPECT_TRUE(reason == Reason::EMPTY);
EXPECT_TRUE(valid);
EXPECT_FALSE(reason.has_value());
}

{
Expand Down Expand Up @@ -426,6 +426,25 @@ TEST_F(TestUUriValidator, ValidSubscription) {
}
}

TEST_F(TestUUriValidator, ValidDefaultSource) {
auto getUuri = []() {
uprotocol::v1::UUri uuri;
uuri.set_authority_name(AUTHORITY_NAME);
uuri.set_ue_id(0x00010001);
uuri.set_ue_version_major(1);
uuri.set_resource_id(0x8000);
return uuri;
};

{
auto uuri = getUuri();
uuri.set_authority_name("");
auto [valid, reason] = isValidDefaultSource(uuri);
EXPECT_FALSE(valid);
EXPECT_TRUE(reason == Reason::EMPTY);
}
}

TEST_F(TestUUriValidator, Empty) {
auto getUuri = []() {
uprotocol::v1::UUri uuri;
Expand Down

0 comments on commit 71b5f11

Please sign in to comment.