def test_load_all_solvers(self):
        """Load the list of solver names."""
        with requests_mock.mock() as m:
            setup_server(m)

            # test default case, fetch all solvers for the first time
            client = Client(url, token)
            self.assertEqual(len(client.get_solvers()), 2)

            # test default refresh
            client._solvers = {}
            self.assertEqual(len(client.get_solvers()), 0)

            # test no refresh
            client._solvers = {}
            self.assertEqual(len(client.get_solvers(refresh=False)), 0)

            # test refresh
            client._solvers = {}
            self.assertEqual(len(client.get_solvers(refresh=True)), 2)
    def test_load_solver(self):
        """Load a single solver."""
        with requests_mock.mock() as m:
            setup_server(m)

            # test default, cached solver get
            client = Client(url, token)
            solver = client.get_solver(solver_name)
            self.assertEqual(solver.id, solver_name)

            # fetch solver not present in cache
            client._solvers = {}
            self.assertEqual(client.get_solver(solver_name).id, solver_name)

            # re-fetch solver present in cache
            solver = client.get_solver(solver_name)
            solver.id = 'different-solver'
            self.assertEqual(
                client.get_solver(solver_name, refresh=True).id, solver_name)