@@ -20,16 +20,36 @@ class AccessKeysTest : public ::testing::Test
2020 void TearDown () override { }
2121};
2222
23- TEST_F (AccessKeysTest, singleGitHub )
23+ TEST_F (AccessKeysTest, singleOrgGitHub )
2424{
2525 fetchers::Settings fetchSettings = fetchers::Settings{};
26- fetchSettings.accessTokens .get ().insert ({" github.com" ," token" });
26+ fetchSettings.accessTokens .get ().insert ({" github.com/a " ," token" });
2727 auto i = Input::fromURL (fetchSettings, " github:a/b" );
2828
2929 auto token = i.scheme ->getAccessToken (fetchSettings, " github.com" , " github.com/a/b" );
3030 ASSERT_EQ (token," token" );
3131}
3232
33+ TEST_F (AccessKeysTest, nonMatches)
34+ {
35+ fetchers::Settings fetchSettings = fetchers::Settings{};
36+ fetchSettings.accessTokens .get ().insert ({" github.com" ," token" });
37+ auto i = Input::fromURL (fetchSettings, " gitlab:github.com/evil" );
38+
39+ auto token = i.scheme ->getAccessToken (fetchSettings, " gitlab.com" , " gitlab.com/github.com/evil" );
40+ ASSERT_EQ (token,std::nullopt );
41+ }
42+
43+ TEST_F (AccessKeysTest, noPartialMatches)
44+ {
45+ fetchers::Settings fetchSettings = fetchers::Settings{};
46+ fetchSettings.accessTokens .get ().insert ({" github.com/partial" ," token" });
47+ auto i = Input::fromURL (fetchSettings, " github:partial-match/repo" );
48+
49+ auto token = i.scheme ->getAccessToken (fetchSettings, " github.com" , " github.com/partial-match" );
50+ ASSERT_EQ (token,std::nullopt );
51+ }
52+
3353TEST_F (AccessKeysTest, repoGitHub)
3454{
3555 fetchers::Settings fetchSettings = fetchers::Settings{};
0 commit comments