+package jalview.ws.rest;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.Vector;
+
+import org.junit.Test;
+
+import jalview.bin.Cache;
+
+public class RestClientTest
+{
+ /**
+ * Refactored 'as is' from main method
+ */
+ @Test
+ public void testGetRestClient()
+ {
+ /*
+ * Load test properties file (readonly) so as not to overwrite the real one
+ */
+ Cache.loadProperties("test/src/jalview/io/testProps.jvprops");
+
+ RestClient[] clients = RestClient.getRestClients();
+ System.out.println("Got " + clients.length + " clients.");
+ int i = 0;
+ Vector<String> urls = new Vector<String>();
+ for (RestClient cl : clients)
+ {
+ System.out.println("" + (++i) + ": " + cl.service.toString());
+ urls.add(cl.service.toString());
+ }
+ RestClient.setRsbsServices(urls);
+
+ RestClient[] restClients = RestClient.getRestClients();
+ assertEquals("", clients.length, restClients.length);
+
+ /*
+ * Check the two lists hold 'equal' (albeit different) objects. Ordering
+ * should be the same as getRestClients returns the list in the same order
+ * as setRsbsServices sets it.
+ */
+ for (i = 0; i < clients.length; i++)
+ {
+ /*
+ * RestServiceDescription.equals() compares numerous fields
+ */
+ assertEquals(clients[i].getRestDescription(),
+ restClients[i].getRestDescription());
+ }
+ }
+}