package com.orientechnologies.orient.core.metadata.security;
import org.testng.Assert;
import org.testng.annotations.Test;
import com.orientechnologies.orient.core.db.document.ODatabaseDocument;
import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx;
import com.orientechnologies.orient.core.exception.OSecurityAccessException;
public class TestReaderDropClass {
@Test()
public void testReaderDropClass() {
ODatabaseDocument db = new ODatabaseDocumentTx("memory:" + TestReaderDropClass.class.getSimpleName());
db.create();
try {
db.getMetadata().getSchema().createClass("Test");
db.close();
db.open("reader", "reader");
try {
db.getMetadata().getSchema().dropClass("Test");
Assert.fail("reader should not be able to drop a class");
} catch (OSecurityAccessException ex) {
}
Assert.assertTrue(db.getMetadata().getSchema().existsClass("Test"), "reader should not be able to drop a class");
} finally {
db.close();
db.open("admin", "admin");
db.drop();
}
}
}