MCPcopy Create free account
hub / github.com/Pagghiu/SaneCppLibraries / authorizationHelpers

Method authorizationHelpers

Tests/Libraries/Http/HttpHeadersTest.cpp:89–124  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

87}
88
89void HttpHeadersTest::authorizationHelpers()
90{
91 HttpAuthorizationView authorization;
92 SC_TEST_EXPECT(authorization.parse(" bEaReR token-123 "));
93 SC_TEST_EXPECT(authorization.isBearer());
94 SC_TEST_EXPECT(not authorization.isBasic());
95 SC_TEST_EXPECT(authorization.scheme == "bEaReR");
96 SC_TEST_EXPECT(authorization.credentials == "token-123");
97
98 StringSpan token;
99 SC_TEST_EXPECT(HttpParseBearerToken("Bearer abc.def", token));
100 SC_TEST_EXPECT(token == "abc.def");
101
102 char storage[64];
103 StringSpan username;
104 StringSpan password;
105 SC_TEST_EXPECT(HttpParseBasicCredentials("Basic dXNlcjpwYXNz", {storage, sizeof(storage)}, username, password));
106 SC_TEST_EXPECT(username == "user");
107 SC_TEST_EXPECT(password == "pass");
108
109 SC_TEST_EXPECT(HttpParseBasicCredentials("Basic dXNlcjo=", {storage, sizeof(storage)}, username, password));
110 SC_TEST_EXPECT(username == "user");
111 SC_TEST_EXPECT(password.isEmpty());
112
113 SC_TEST_EXPECT(
114 resultMessageEquals(HttpParseBearerToken("Basic dXNlcjpwYXNz", token), "Authorization scheme is not Bearer"));
115 SC_TEST_EXPECT(
116 resultMessageEquals(HttpParseBasicCredentials("Basic !!!=", {storage, sizeof(storage)}, username, password),
117 "Basic authorization has invalid base64"));
118 SC_TEST_EXPECT(resultMessageEquals(
119 HttpParseBasicCredentials("Basic bm9jb2xvbg==", {storage, sizeof(storage)}, username, password),
120 "Basic authorization missing password separator"));
121 SC_TEST_EXPECT(
122 resultMessageEquals(HttpParseBasicCredentials("Basic dXNlcjpwYXNz", {storage, 3}, username, password),
123 "Basic authorization output buffer is too small"));
124}
125
126void HttpHeadersTest::setCookieHelpers()
127{

Callers

nothing calls this directly

Calls 7

HttpParseBearerTokenFunction · 0.85
isBearerMethod · 0.80
isBasicMethod · 0.80
resultMessageEqualsFunction · 0.70
parseMethod · 0.45
isEmptyMethod · 0.45

Tested by

no test coverage detected