package tap.parameters;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import tap.TAPJob;
import uws.UWSException;
public class TestFormatController {
@BeforeClass
public static void setUpBeforeClass() throws Exception{}
@AfterClass
public static void tearDownAfterClass() throws Exception{}
@Before
public void setUp() throws Exception{}
@After
public void tearDown() throws Exception{}
@Test
public void testCheck(){
ServiceConnectionOfTest service = new ServiceConnectionOfTest();
FormatController controller = new FormatController(service);
try{
assertEquals(controller.getDefault(), controller.check(null));
assertEquals(controller.getDefault(), controller.check(""));
assertEquals(controller.getDefault(), controller.check(" "));
assertEquals(controller.getDefault(), controller.check(" "));
assertEquals(controller.getDefault(), controller.check(" "));
assertEquals("votable", controller.check("votable"));
assertEquals("application/x-votable+xml", controller.check("application/x-votable+xml"));
assertEquals("csv", controller.check("csv"));
assertEquals("fits", controller.check("fits"));
}catch(Exception ex){
ex.printStackTrace();
fail();
}
try{
controller.check("toto");
}catch(Exception ex){
assertTrue(ex instanceof UWSException);
assertTrue(ex.getMessage().startsWith("Unknown value for the parameter \"format\": \"toto\". It should be "));
}
try{
controller.check("application/xml");
}catch(Exception ex){
assertTrue(ex instanceof UWSException);
assertTrue(ex.getMessage().startsWith("Unknown value for the parameter \"format\": \"application/xml\". It should be "));
}
}
@Test
public void testGetDefault(){
ServiceConnectionOfTest service = new ServiceConnectionOfTest();
FormatController controller = new FormatController(service);
assertEquals(TAPJob.FORMAT_VOTABLE, controller.getDefault());
}
@Test
public void testAllowModification(){
ServiceConnectionOfTest service = new ServiceConnectionOfTest();
FormatController controller = new FormatController(service);
// By default, user modification of the destruction time is allowed:
assertTrue(controller.allowModification());
controller.allowModification(true);
assertTrue(controller.allowModification());
controller.allowModification(false);
assertFalse(controller.allowModification());
}
}