use of com.google.cloud.datacatalog.v1beta1.Schema in project molgenis-emx2 by molgenis.
the class TestSettings method testSchemaSettings.
@Test
public void testSchemaSettings() {
database.tx(// prevent side effect of user changes on other tests using tx
db -> {
Schema s = db.dropCreateSchema("testSchemaSettings");
// set roles
// viewer should only be able to see, not change
// manager should be able to set values
s.addMember("testsettingseditor", EDITOR.toString());
s.addMember("testsettingsmanager", MANAGER.toString());
db.setActiveUser("testsettingseditor");
try {
// reload schema
s = db.getSchema("testSchemaSettings");
s.getMetadata().setSetting("key", "value");
fail("editors should not be able to change schema settings");
} catch (Exception e) {
// failed correctly
}
db.setActiveUser("testsettingsmanager");
try {
// reload schema
s = db.getSchema("testSchemaSettings");
s.getMetadata().setSetting("key", "value");
} catch (Exception e) {
e.printStackTrace();
fail("managers should be able to change schema settings");
}
assertEquals("key", s.getMetadata().getSettings().get(0).key());
assertEquals("value", s.getMetadata().getSettings().get(0).value());
assertEquals("key", db.getSchema("testSchemaSettings").getMetadata().getSettings().get(0).key());
assertEquals("value", db.getSchema("testSchemaSettings").getMetadata().getSettings().get(0).value());
db.clearCache();
assertEquals("key", db.getSchema("testSchemaSettings").getMetadata().getSettings().get(0).key());
assertEquals("value", db.getSchema("testSchemaSettings").getMetadata().getSettings().get(0).value());
db.becomeAdmin();
});
}
use of com.google.cloud.datacatalog.v1beta1.Schema in project molgenis-emx2 by molgenis.
the class TestSettings method testTableSettings.
@Test
public void testTableSettings() {
database.tx(// prevent side effect of user changes on other tests using tx
db -> {
Schema s = db.dropCreateSchema("testTableSettings");
// set roles
// viewer should only be able to see, not change
// editor should be able to set values
s.addMember("testtablesettingsviewer", VIEWER.toString());
s.addMember("testtablesettingseditor", EDITOR.toString());
s.create(table("test").add(column("test")));
db.setActiveUser("testtablesettingsviewer");
try {
Table t = db.getSchema("testTableSettings").getTable("test");
t.getMetadata().setSetting("key", "value");
fail("viewers should not be able to change schema settings");
} catch (Exception e) {
// failed correctly
}
db.setActiveUser("testtablesettingseditor");
try {
Table t = db.getSchema("testTableSettings").getTable("test");
t.getMetadata().setSetting("key", "value");
} catch (Exception e) {
e.printStackTrace();
fail("managers should be able to change schema settings");
}
db.clearCache();
List<Setting> test = db.getSchema("testTableSettings").getTable("test").getMetadata().getSettings();
assertEquals(1, test.size());
assertEquals("key", test.get(0).key());
assertEquals("value", test.get(0).value());
assertEquals("key", db.getSchema("testTableSettings").getTable("test").getMetadata().getSettings().get(0).key());
assertEquals("value", db.getSchema("testTableSettings").getTable("test").getMetadata().getSettings().get(0).value());
db.becomeAdmin();
});
}
use of com.google.cloud.datacatalog.v1beta1.Schema in project molgenis-emx2 by molgenis.
the class TestMetaDataIsStoredForNextSessions method testSimpleTypesTest.
@Test
public void testSimpleTypesTest() {
Schema schema = database.dropCreateSchema(SCHEMA_NAME + "2");
SimpleTypeTestExample.createSimpleTypeTest(schema.getMetadata());
try {
CompareTools.reloadAndCompare(database, schema);
} catch (Exception e) {
fail(e.getMessage());
}
}
use of com.google.cloud.datacatalog.v1beta1.Schema in project molgenis-emx2 by molgenis.
the class TestMetaDataIsStoredForNextSessions method testProductComponentsPartsModel.
@Test
public void testProductComponentsPartsModel() {
Schema schema = database.dropCreateSchema(SCHEMA_NAME + "1");
ProductComponentPartsExample.create(schema.getMetadata());
try {
CompareTools.reloadAndCompare(database, schema);
} catch (Exception e) {
fail(e.getMessage());
}
}
use of com.google.cloud.datacatalog.v1beta1.Schema in project molgenis-emx2 by molgenis.
the class TestMetaDataIsStoredForNextSessions method testArrayTypesTest.
@Test
public void testArrayTypesTest() {
Schema schema = database.dropCreateSchema(SCHEMA_NAME + "3");
ArrayTypeTestExample.createSimpleTypeTest(schema.getMetadata());
try {
CompareTools.reloadAndCompare(database, schema);
} catch (Exception e) {
fail(e.getMessage());
}
}
Aggregations