@@ -77,6 +77,15 @@ class SerializeTest : public ::testing::Test {
7777 " 1" , ec_public, &err_msg);
7878 ASSERT_TRUE (rv == 0 );
7979
80+ const char *groups[3 ] = {nullptr , nullptr , nullptr };
81+ const char group0[] = " group0" ;
82+ const char group1[] = " group1" ;
83+ groups[0 ] = group0;
84+ groups[1 ] = group1;
85+ rv = scitoken_set_claim_string_list (m_token.get (), " groups" , groups,
86+ &err_msg);
87+ ASSERT_TRUE (rv == 0 );
88+
8089 m_read_token.reset (scitoken_create (nullptr ));
8190 ASSERT_TRUE (m_read_token.get () != nullptr );
8291 }
@@ -115,6 +124,23 @@ TEST_F(SerializeTest, VerifyTest) {
115124 EXPECT_FALSE (rv == 0 );
116125}
117126
127+ TEST_F (SerializeTest, TestStringList) {
128+ char *err_msg = nullptr ;
129+
130+ char **value;
131+ auto rv = scitoken_get_claim_string_list (m_token.get (), " groups" , &value, &err_msg);
132+ ASSERT_TRUE (rv == 0 );
133+ ASSERT_TRUE (value != nullptr );
134+
135+ ASSERT_TRUE (value[0 ] != nullptr );
136+ EXPECT_STREQ (value[0 ], " group0" );
137+
138+ ASSERT_TRUE (value[1 ] != nullptr );
139+ EXPECT_STREQ (value[1 ], " group1" );
140+
141+ EXPECT_TRUE (value[2 ] == nullptr );
142+ }
143+
118144
119145TEST_F (SerializeTest, VerifyWLCGTest) {
120146
0 commit comments