@Test
public void testDeleteVariableSetInUse() throws CatalogException {
String sampleId1 = catalogManager.getSampleManager().create(studyFqn, new Sample().setId("SAMPLE_1"),
new QueryOptions(), sessionIdUser).first().getId();
List<Variable> variables = Arrays.asList(
new Variable("NAME", "", "", Variable.VariableType.TEXT, "", true, false, Collections.emptyList(), 0, "", "", null,
Collections.emptyMap()),
new Variable("AGE", "", "", Variable.VariableType.DOUBLE, null, false, false, Collections.singletonList("0:99"), 1, "", "",
null, Collections.emptyMap())
);
VariableSet vs1 = catalogManager.getStudyManager().createVariableSet(studyFqn, "vs1", "vs1", true, false, "", null, variables, sessionIdUser).first();
Map<String, Object> annotations = new HashMap<>();
annotations.put("NAME", "LINUS");
catalogManager.getSampleManager().update(studyFqn, sampleId1, new ObjectMap()
.append(SampleDBAdaptor.QueryParams.ANNOTATION_SETS.key(), Collections.singletonList(new ObjectMap()
.append(AnnotationSetManager.ID, "annotationId")
.append(AnnotationSetManager.VARIABLE_SET_ID, vs1.getId())
.append(AnnotationSetManager.ANNOTATIONS, annotations))
),
QueryOptions.empty(), sessionIdUser);
try {
catalogManager.getStudyManager().deleteVariableSet(studyFqn, Long.toString(vs1.getUid()), sessionIdUser).first();
} finally {
VariableSet variableSet = catalogManager.getStudyManager().getVariableSet(studyFqn, vs1.getId(), null, sessionIdUser).first();
assertEquals(vs1.getUid(), variableSet.getUid());
thrown.expect(CatalogDBException.class);
}
}