*/
package jalview.ws.rest;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Hashtable;
+import java.util.Vector;
+
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.JOptionPane;
+import javax.swing.event.MenuEvent;
+import javax.swing.event.MenuListener;
+
import jalview.bin.Cache;
import jalview.datamodel.AlignmentView;
import jalview.gui.AlignFrame;
import jalview.ws.WSClientI;
import jalview.ws.WSMenuEntryProviderI;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import javax.swing.JMenu;
-import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
-import javax.swing.event.MenuEvent;
-import javax.swing.event.MenuListener;
-
/**
* @author JimP
*
return lst;
}
- public static void main(String args[])
- {
- try
- {
- RestClient[] clients = 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());
- }
- setRsbsServices(urls);
- if (clients.length != getRestClients().length)
- {
- System.err
- .println("Failed. Differing numbers of clients when stringified and parsed again.");
- }
-
- } catch (Throwable x)
- {
- System.err.println("Failed. Unexpected exception.");
- x.printStackTrace();
- }
- }
-
public String getAction()
{
return service.details.Action;
--- /dev/null
+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());
+ }
+ }
+}