package org.openlca.ilcd.tests.network; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.io.IOException; import java.util.UUID; import org.junit.Assume; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.openlca.ilcd.contacts.Contact; import org.openlca.ilcd.flowproperties.FlowProperty; import org.openlca.ilcd.flows.Flow; import org.openlca.ilcd.io.SodaClient; import org.openlca.ilcd.io.SodaConnection; import org.openlca.ilcd.processes.Process; import org.openlca.ilcd.sources.Source; import org.openlca.ilcd.units.UnitGroup; public class NetworkGetTest { private SodaClient client; @Before public void setUp() throws Exception { if (!Network.isAppAlive()) return; DataSets.upload(); client = Network.createClient(); } @Test public void testCreateWithPassword() throws Exception { Assume.assumeTrue(Network.isAppAlive()); SodaClient client = Network.createClient(); assertNotNull(client); } @Ignore @Test(expected = Exception.class) public void testCreateWithWrongPassword() throws IOException { Assume.assumeTrue(Network.isAppAlive()); SodaConnection con = new SodaConnection(); con.url = Network.RESOURCE_URL; con.user = "user"; con.password = "invalid"; SodaClient client = new SodaClient(con); client.close(); } @Test public void testGetProcess() throws Exception { Assume.assumeTrue(Network.isAppAlive()); String id = "76d6aaa4-37e2-40b2-994c-03292b600074"; Process process = client.get(Process.class, id); assertEquals(id, process.processInfo.dataSetInfo.uuid); testContains(Process.class, id); } @Test public void testGetFlow() throws Exception { Assume.assumeTrue(Network.isAppAlive()); String id = "0d7a3ad1-6556-11dd-ad8b-0800200c9a66"; Flow flow = client.get(Flow.class, id); assertEquals(id, flow.flowInfo.dataSetInfo.uuid); testContains(Flow.class, id); } @Test public void testGetFlowProperty() throws Exception { Assume.assumeTrue(Network.isAppAlive()); String id = "93a60a56-a3c8-14da-a746-0800200c9a66"; FlowProperty property = client.get(FlowProperty.class, id); assertEquals(id, property.flowPropertyInfo.dataSetInfo.uuid); testContains(FlowProperty.class, id); } @Test public void testGetUnitGroup() throws Exception { Assume.assumeTrue(Network.isAppAlive()); String id = "59f191d6-5dd3-4553-af88-1a32accfe308"; UnitGroup group = client.get(UnitGroup.class, id); assertEquals(id, group.unitGroupInfo.dataSetInfo.uuid); testContains(UnitGroup.class, id); } @Test public void testGetContact() throws Exception { Assume.assumeTrue(Network.isAppAlive()); String id = "177ca340-ffa2-11da-92e3-0800200c9a66"; Contact contact = client.get(Contact.class, id); assertEquals(id, contact.contactInfo.dataSetInfo.uuid); testContains(Contact.class, id); } @Test public void testGetSource() throws Exception { Assume.assumeTrue(Network.isAppAlive()); String id = "2c699413-f88b-4cb5-a56d-98cb4068472f"; Source source = client.get(Source.class, id); assertEquals(id, source.sourceInfo.dataSetInfo.uuid); testContains(Source.class, id); } private void testContains(Class<?> type, String id) throws Exception { assertTrue(client.contains(type, id)); assertFalse(client.contains(type, UUID.randomUUID().toString())); } }