Clover icon

Coverage Report

  1. Project Clover database Wed Dec 3 2025 15:58:31 GMT
  2. Package jalview.ws.rest

File RestClientTest.java

 

Code metrics

4
16
2
1
84
40
4
0.25
8
2
2

Classes

Class Line # Actions
RestClientTest 34 16 4
0.9090909490.9%
 

Contributing tests

This file is covered by 1 test. .

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
7    * Jalview is free software: you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation, either version 3
10    * of the License, or (at your option) any later version.
11    *
12    * Jalview is distributed in the hope that it will be useful, but
13    * WITHOUT ANY WARRANTY; without even the implied warranty
14    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15    * PURPOSE. See the GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU General Public License
18    * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19    * The Jalview Authors are detailed in the 'AUTHORS' file.
20    */
21    package jalview.ws.rest;
22   
23    import static org.testng.AssertJUnit.assertEquals;
24    import static org.testng.AssertJUnit.fail;
25   
26    import jalview.bin.Cache;
27    import jalview.gui.JvOptionPane;
28   
29    import java.util.Vector;
30   
31    import org.testng.annotations.BeforeClass;
32    import org.testng.annotations.Test;
33   
 
34    public class RestClientTest
35    {
36   
 
37  1 toggle @BeforeClass(alwaysRun = true)
38    public void setUpJvOptionPane()
39    {
40  1 JvOptionPane.setInteractiveMode(false);
41  1 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
42    }
43   
44    /**
45    * Refactored 'as is' from main method
46    */
 
47  1 toggle @Test(groups = { "Functional" })
48    public void testGetRestClient()
49    {
50    /*
51    * Load test properties file (readonly) so as not to overwrite the real one
52    */
53  1 Cache.loadProperties("test/jalview/io/testProps.jvprops");
54   
55  1 RestClient[] clients = RestClient.getRestClients();
56  1 System.out.println("Got " + clients.length + " clients.");
57  1 int i = 0;
58  1 Vector<String> urls = new Vector<String>();
59  1 for (RestClient cl : clients)
60    {
61  1 System.out.println("" + (++i) + ": " + cl.service.toString());
62  1 urls.add(cl.service.toString());
63    }
64  1 RestClient.setRsbsServices(urls);
65   
66  1 RestClient[] restClients = RestClient.getRestClients();
67  1 assertEquals("", clients.length, restClients.length);
68   
69    /*
70    * Check the two lists hold 'equal' (albeit different) objects. Ordering
71    * should be the same as getRestClients returns the list in the same order
72    * as setRsbsServices sets it.
73    */
74  2 for (i = 0; i < clients.length; i++)
75    {
76    /*
77    * RestServiceDescription.equals() compares numerous fields
78    */
79  1 if (!clients[i].getRestDescription().equals(restClients[i].getRestDescription())) {
80  0 fail("Mismatching service "+clients[i].getRestDescription() + " != "+restClients[i].getRestDescription()+ "\nRSBSPROP = "+Cache.getProperty(RestClient.RSBS_SERVICES));
81    }
82    }
83    }
84    }