use of com.bakdata.conquery.models.auth.entities.User in project conquery by bakdata.
the class SerializingStoreDumpTest method testCorruptionRemoval.
/**
* Tests if entries with corrupted are removed from the store if configured so.
* The dump itself is not testet.
*/
@Test
public void testCorruptionRemoval() {
log.info("This test will throw some warnings from the SerializingStore.");
// Set config to remove corrupt entries
config.setRemoveUnreadableFromStore(true);
{
// Open a store and insert a valid key-value pair (UserId & User)
SerializingStore<UserId, User> store = createSerializedStore(config, env, Validators.newValidator(), USER_STORE_ID);
store.add(new UserId("testU1"), user);
}
{
// Insert two corrupt entries. One with a corrupt key and the other one with a
// corrupt value
{
SerializingStore<String, QueryDescription> store = createSerializedStore(config, env, Validators.newValidator(), new StoreInfo<>(USER_STORE_ID.getName(), String.class, QueryDescription.class));
store.add("not a valid conquery Id", cQuery);
}
{
SerializingStore<UserId, QueryDescription> store = createSerializedStore(config, env, Validators.newValidator(), new StoreInfo<>(USER_STORE_ID.getName(), UserId.class, QueryDescription.class));
store.add(new UserId("testU2"), cQuery);
}
}
{
// Reopen the store with correct configuration and try to iterate over all
// entries (this triggers the dump or removal of invalid entries)
SerializingStore<UserId, User> store = createSerializedStore(config, env, Validators.newValidator(), USER_STORE_ID);
IterationStatistic expectedResult = new IterationStatistic();
expectedResult.setTotalProcessed(3);
expectedResult.setFailedKeys(1);
expectedResult.setFailedValues(1);
// Iterate (do nothing with the entries themselves)
IterationStatistic result = store.forEach((k, v, s) -> {
});
assertThat(result).isEqualTo(expectedResult);
}
{
// Reopen again to check that the corrupted values have been removed previously
SerializingStore<UserId, User> store = createSerializedStore(config, env, Validators.newValidator(), USER_STORE_ID);
IterationStatistic expectedResult = new IterationStatistic();
expectedResult.setTotalProcessed(1);
expectedResult.setFailedKeys(0);
expectedResult.setFailedValues(0);
// Iterate (do nothing with the entries themselves)
IterationStatistic result = store.forEach((k, v, s) -> {
});
assertThat(result).isEqualTo(expectedResult);
}
}
use of com.bakdata.conquery.models.auth.entities.User in project conquery by bakdata.
the class SerializationTests method group.
@Test
public void group() throws IOException, JSONException {
Group group = new Group("group", "group", STORAGE);
group.addPermission(DatasetPermission.onInstance(Ability.READ, new DatasetId("test")));
group.addPermission(ExecutionPermission.onInstance(Ability.READ, new ManagedExecutionId(new DatasetId("dataset"), UUID.randomUUID())));
group.addRole(new Role("company", "company", STORAGE));
Role role = new Role("company", "company", STORAGE);
group.addRole(role);
User user = new User("userName", "userLabel", STORAGE);
group.addMember(user);
CentralRegistry registry = new CentralRegistry();
registry.register(role);
registry.register(user);
SerializationTestUtil.forType(Group.class).injectables(STORAGE).registry(registry).test(group);
}
use of com.bakdata.conquery.models.auth.entities.User in project conquery by bakdata.
the class SerializationTests method managedQuery.
@Test
public void managedQuery() throws JSONException, IOException {
final CentralRegistry registry = new CentralRegistry();
final Dataset dataset = new Dataset("test-dataset");
final User user = new User("test-user", "test-user", STORAGE);
registry.register(dataset);
registry.register(user);
ManagedQuery execution = new ManagedQuery(null, user, dataset);
execution.setTags(new String[] { "test-tag" });
SerializationTestUtil.forType(ManagedExecution.class).registry(registry).test(execution);
}
use of com.bakdata.conquery.models.auth.entities.User in project conquery by bakdata.
the class SerializationTests method meInformation.
@Test
public void meInformation() throws IOException, JSONException {
User user = new User("name", "labe", STORAGE);
MeProcessor.FEMeInformation info = MeProcessor.FEMeInformation.builder().userName(user.getLabel()).hideLogoutButton(false).groups(List.of(new IdLabel<>(new GroupId("test_group"), "test_group_label"))).datasetAbilities(Map.of(new DatasetId("testdataset"), new MeProcessor.FEDatasetAbility(true))).build();
SerializationTestUtil.forType(MeProcessor.FEMeInformation.class).test(info);
}
use of com.bakdata.conquery.models.auth.entities.User in project conquery by bakdata.
the class IntrospectionDelegatingRealmTest method tokenIntrospectionSimpleUserNew.
@Test
public void tokenIntrospectionSimpleUserNew() {
AuthenticationInfo info = REALM.doGetAuthenticationInfo(USER1_TOKEN_WRAPPED);
assertThat(info).usingRecursiveComparison().ignoringFields(ConqueryAuthenticationInfo.Fields.credentials).isEqualTo(new ConqueryAuthenticationInfo(USER_1, USER1_TOKEN_WRAPPED, REALM, true));
assertThat(STORAGE.getAllUsers()).containsOnly(new User(USER_1_NAME, USER_1_NAME, STORAGE));
}
Aggregations