(t *testing.T)
| 187 | } |
| 188 | |
| 189 | func TestGetRoleIDs(t *testing.T) { |
| 190 | testCases := []struct { |
| 191 | useLegacySyncDocsIndex bool |
| 192 | }{ |
| 193 | { |
| 194 | useLegacySyncDocsIndex: false, |
| 195 | }, |
| 196 | { |
| 197 | useLegacySyncDocsIndex: true, |
| 198 | }, |
| 199 | } |
| 200 | |
| 201 | for _, testCase := range testCases { |
| 202 | t.Run(fmt.Sprintf("useLegacySyncDocsIndex=%t", testCase.useLegacySyncDocsIndex), func(t *testing.T) { |
| 203 | database := setupIndexAndDB(t, testIndexCreationOptions{ |
| 204 | useLegacySyncDocsIndex: testCase.useLegacySyncDocsIndex, |
| 205 | numPartitions: db.DefaultNumIndexPartitions, |
| 206 | useXattrs: base.TestUseXattrs(), |
| 207 | }) |
| 208 | |
| 209 | ctx := database.AddDatabaseLogContext(base.TestCtx(t)) |
| 210 | authenticator := database.Authenticator(ctx) |
| 211 | |
| 212 | rolename1 := uuid.NewString() |
| 213 | rolename2 := uuid.NewString() |
| 214 | |
| 215 | role1, err := authenticator.NewRole(rolename1, nil) |
| 216 | require.NoError(t, err) |
| 217 | require.NoError(t, authenticator.Save(role1)) |
| 218 | |
| 219 | role2, err := authenticator.NewRole(rolename2, nil) |
| 220 | require.NoError(t, err) |
| 221 | require.NoError(t, authenticator.Save(role2)) |
| 222 | |
| 223 | err = database.DeleteRole(ctx, role2.Name(), false) |
| 224 | require.NoError(t, err) |
| 225 | roleGet, err := authenticator.GetRoleIncDeleted(role2.Name()) |
| 226 | require.NoError(t, err) |
| 227 | require.True(t, roleGet.IsDeleted()) |
| 228 | |
| 229 | t.Log("role1:", role1.Name()) |
| 230 | t.Log("role2:", role2.Name()) |
| 231 | |
| 232 | for _, includeDeleted := range []bool{false, true} { |
| 233 | t.Run(fmt.Sprintf("includeDeleted=%t", includeDeleted), func(t *testing.T) { |
| 234 | // require roles |
| 235 | roles, err := database.GetRoleIDs(ctx, database.UseViews(), includeDeleted) |
| 236 | expectedRoles := []string{role1.Name()} |
| 237 | if includeDeleted { |
| 238 | expectedRoles = append(expectedRoles, role2.Name()) |
| 239 | } |
| 240 | |
| 241 | require.NoError(t, err) |
| 242 | require.ElementsMatch(t, expectedRoles, roles) |
| 243 | }) |
| 244 | } |
| 245 | }) |
| 246 | } |
nothing calls this directly
no test coverage detected