Skip to content

Commit

Permalink
specchar test + sdk validation test
Browse files Browse the repository at this point in the history
  • Loading branch information
kp-cat committed Mar 21, 2024
1 parent a248614 commit 9180ddd
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 0 deletions.
38 changes: 38 additions & 0 deletions test/test-configcatclient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,44 @@ TEST_F(ConfigCatClientTest, EnsureCloseWorks) {
EXPECT_TRUE(ConfigCatClient::instanceCount() == 1);
}

class SdkKeyFormatValidationTestSuite : public ::testing::TestWithParam<tuple<string, bool, bool>> {};
INSTANTIATE_TEST_SUITE_P(ConfigCatClientTest, SdkKeyFormatValidationTestSuite, ::testing::Values(
make_tuple("sdk-key-90123456789012", false, false),
make_tuple("sdk-key-9012345678901/1234567890123456789012", false, false),
make_tuple("sdk-key-90123456789012/123456789012345678901", false, false),
make_tuple("sdk-key-90123456789012/12345678901234567890123", false, false),
make_tuple("sdk-key-901234567890123/1234567890123456789012", false, false),
make_tuple("sdk-key-90123456789012/1234567890123456789012", false, true),
make_tuple("configcat-sdk-1/sdk-key-90123456789012", false, false),
make_tuple("configcat-sdk-1/sdk-key-9012345678901/1234567890123456789012", false, false),
make_tuple("configcat-sdk-1/sdk-key-90123456789012/123456789012345678901", false, false),
make_tuple("configcat-sdk-1/sdk-key-90123456789012/12345678901234567890123", false, false),
make_tuple("configcat-sdk-1/sdk-key-901234567890123/1234567890123456789012", false, false),
make_tuple("configcat-sdk-1/sdk-key-90123456789012/1234567890123456789012", false, true),
make_tuple("configcat-sdk-2/sdk-key-90123456789012/1234567890123456789012", false, false),
make_tuple("configcat-proxy/", false, false),
make_tuple("configcat-proxy/", true, false),
make_tuple("configcat-proxy/sdk-key-90123456789012", false, false),
make_tuple("configcat-proxy/sdk-key-90123456789012", true, true)
));
TEST_P(SdkKeyFormatValidationTestSuite, SdkKeyFormatValidation) {
auto [sdkKey, customBaseUrl, isValid] = GetParam();
try {
ConfigCatOptions options;
options.pollingMode = PollingMode::manualPoll();
options.baseUrl = customBaseUrl ? "https://my-configcat-proxy" : "";
auto client = ConfigCatClient::get(sdkKey, &options);

if (!isValid) {
FAIL() << "Expected invalid_argument exception";
}
} catch (const invalid_argument& e) {
if (isValid) {
FAIL() << "Did not expect invalid_argument exception";
}
}
}

TEST_F(ConfigCatClientTest, GetIntValue) {
SetUp();

Expand Down
31 changes: 31 additions & 0 deletions test/test-specialcharacter.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#include <gtest/gtest.h>
#include "configcat/configcatuser.h"
#include "configcat/configcatclient.h"


using namespace std;
using namespace configcat;

using MatrixData = vector<vector<string>>;

class SpecialCharacterTest : public ::testing::Test {
public:
ConfigCatClient* client = nullptr;
void SetUp() override {
client = ConfigCatClient::get("configcat-sdk-1/PKDVCLf-Hq-h-kCzMp-L7Q/u28_1qNyZ0Wz-ldYHIU7-g");
}

void TearDown() override {
ConfigCatClient::closeAll();
}
};

TEST_F(SpecialCharacterTest, SpecialCharactersWorksCleartext) {
string actual = client->getValue("specialCharacters", "NOT_CAT", make_shared<ConfigCatUser>("äöüÄÖÜçéèñışğ⢙✓😀"));
EXPECT_EQ(actual, "äöüÄÖÜçéèñışğ⢙✓😀");
}

TEST_F(SpecialCharacterTest, SpecialCharactersWorksHashed) {
string actual = client->getValue("specialCharactersHashed", "NOT_CAT", make_shared<ConfigCatUser>("äöüÄÖÜçéèñışğ⢙✓😀"));
EXPECT_EQ(actual, "äöüÄÖÜçéèñışğ⢙✓😀");
}

0 comments on commit 9180ddd

Please sign in to comment.