| 44 | namespace tests { |
| 45 | |
| 46 | TEST(AgentValidationTest, ContainerID) |
| 47 | { |
| 48 | ContainerID containerId; |
| 49 | Option<Error> error; |
| 50 | |
| 51 | // No empty IDs. |
| 52 | containerId.set_value(""); |
| 53 | error = validation::container::validateContainerId(containerId); |
| 54 | EXPECT_SOME(error); |
| 55 | |
| 56 | // No slashes. |
| 57 | containerId.set_value("/"); |
| 58 | error = validation::container::validateContainerId(containerId); |
| 59 | EXPECT_SOME(error); |
| 60 | |
| 61 | containerId.set_value("\\"); |
| 62 | error = validation::container::validateContainerId(containerId); |
| 63 | EXPECT_SOME(error); |
| 64 | |
| 65 | // No spaces. |
| 66 | containerId.set_value("redis backup"); |
| 67 | error = validation::container::validateContainerId(containerId); |
| 68 | EXPECT_SOME(error); |
| 69 | |
| 70 | // No periods. |
| 71 | containerId.set_value("redis.backup"); |
| 72 | error = validation::container::validateContainerId(containerId); |
| 73 | EXPECT_SOME(error); |
| 74 | |
| 75 | // Cannot be '.'. |
| 76 | containerId.set_value("."); |
| 77 | error = validation::container::validateContainerId(containerId); |
| 78 | EXPECT_SOME(error); |
| 79 | |
| 80 | // Cannot be '..'. |
| 81 | containerId.set_value(".."); |
| 82 | error = validation::container::validateContainerId(containerId); |
| 83 | EXPECT_SOME(error); |
| 84 | |
| 85 | // Valid. |
| 86 | containerId.set_value("redis"); |
| 87 | error = validation::container::validateContainerId(containerId); |
| 88 | EXPECT_NONE(error); |
| 89 | |
| 90 | // Valid with invalid parent (empty `ContainerID.value`). |
| 91 | containerId.set_value("backup"); |
| 92 | containerId.mutable_parent(); |
| 93 | error = validation::container::validateContainerId(containerId); |
| 94 | EXPECT_SOME(error); |
| 95 | |
| 96 | // Valid with invalid container ID (length more than 242). |
| 97 | containerId.set_value( |
| 98 | "length243-223456789-323456789-423456789-523456789-623456789-" |
| 99 | "723456789-823456789-923456789-023456789-123456789-223456789-" |
| 100 | "323456789-423456789-523456789-623456789-723456789-823456789-" |
| 101 | "923456789-023456789-123456789-223456789-323456789-423456789-" |
| 102 | "123"); |
| 103 | containerId.mutable_parent()->set_value("redis"); |
nothing calls this directly
no test coverage detected