/*
* ome.server.utests.AbstractChangeDetailsMockTest
*
* Copyright 2006 University of Dundee. All rights reserved.
* Use is subject to license terms supplied in LICENSE.txt
*/
package ome.server.utests;
import ome.model.core.Image;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
/**
* @author Josh Moore <a
* href="mailto:josh.moore@gmx.de">josh.moore@gmx.de</a>
* @since Omero 2.0
*/
@Test(groups = { "ticket:52", "security", "broken" })
public class AbstractChangeDetailsMockTest extends AbstractLoginMockTest {
protected Image i;
// Factors:
// 1. new or managed
// 2. root or user
// 3. change to user or root
// 5. TODO even laterer: allowing changes based on group privileges.
@Override
@AfterMethod
protected void tearDown() throws Exception {
super.tearDown();
i = null;
}
boolean _MANAGED = false;
boolean _NEW = true;
boolean _ROOT = true;
boolean _USER = false;
/** this method should be called first to properly setup CurrentDetails */
protected void userImageChmod(boolean root_p, boolean new_p, Long targetId) {
userImage(root_p, new_p);
chown(i, targetId);
}
/** this method should be called first to properly setup CurrentDetails */
protected void userImageChgrp(boolean root_p, boolean new_p, Long targetId) {
userImage(root_p, new_p);
chgrp(i, targetId);
}
private void userImage(boolean root_p, boolean new_p) {
if (root_p) {
rootLogin();
} else {
userLogin();
}
if (new_p) {
i = new Image();
} else {
i = managedImage();
}
}
}