(self)
| 92 | bad_token = '------------------------' |
| 93 | |
| 94 | def setUp(self): |
| 95 | m = self.mocker = requests_mock.Mocker() |
| 96 | |
| 97 | base = self.endpoint |
| 98 | |
| 99 | solver1_url = f'{base}/solvers/remote/{self.solver1_name}' |
| 100 | solver2_url = f'{base}/solvers/remote/{self.solver2_name}' |
| 101 | solver3_incomplete_url = f'{base}/solvers/remote/{self.solver3_incomplete_name}' |
| 102 | solver4_truncated_url = f'{base}/solvers/remote/{self.solver4_truncated_name}' |
| 103 | all_solvers_url = f'{base}/solvers/remote/' |
| 104 | |
| 105 | valid_token_headers = {'X-Auth-Token': self.token} |
| 106 | invalid_token_headers = {'X-Auth-Token': self.bad_token} |
| 107 | |
| 108 | solver_content_type = { |
| 109 | 'Content-Type': 'application/vnd.dwave.sapi.solver-definition+json; version=3.0.0'} |
| 110 | solvers_content_type = { |
| 111 | 'Content-Type': 'application/vnd.dwave.sapi.solver-definition-list+json; version=3.0.0'} |
| 112 | |
| 113 | m.get(requests_mock.ANY, status_code=404) |
| 114 | m.get(requests_mock.ANY, status_code=401, request_headers=invalid_token_headers) |
| 115 | |
| 116 | def add_mock_solver(m, url, name, incomplete=False): |
| 117 | m.get(url, complete_qs=True, json=solver_data(name, incomplete=incomplete), |
| 118 | request_headers=valid_token_headers, headers=solver_content_type) |
| 119 | m.get(f"{url}?{urlencode(dict(filter='all,-status,-avg_load'))}", |
| 120 | json=solver_data(name, subset='static', incomplete=incomplete), |
| 121 | request_headers=valid_token_headers, headers=solver_content_type) |
| 122 | m.get(f"{url}?{urlencode(dict(filter='none,+identity,+status,+avg_load'))}", |
| 123 | json=solver_data(name, subset='dynamic', incomplete=incomplete), |
| 124 | request_headers=valid_token_headers, headers=solver_content_type) |
| 125 | |
| 126 | add_mock_solver(m, solver1_url, self.solver1_name) |
| 127 | add_mock_solver(m, solver2_url, self.solver2_name) |
| 128 | add_mock_solver(m, solver3_incomplete_url, self.solver3_incomplete_name, incomplete=True) |
| 129 | |
| 130 | m.get(solver4_truncated_url, |
| 131 | text='{"id', request_headers=valid_token_headers, headers=solver_content_type) |
| 132 | m.get(f"{solver4_truncated_url}?{urlencode(dict(filter='all,-status,-avg_load'))}", |
| 133 | text='{"id', request_headers=valid_token_headers, headers=solver_content_type) |
| 134 | m.get(f"{solver4_truncated_url}?{urlencode(dict(filter='none,+id,+status,+avg_load'))}", |
| 135 | text='{"id', request_headers=valid_token_headers, headers=solver_content_type) |
| 136 | |
| 137 | m.get(all_solvers_url, |
| 138 | json=[solver_data(self.solver1_name), solver_data(self.solver2_name)], |
| 139 | request_headers=valid_token_headers, headers=solvers_content_type) |
| 140 | m.get(f"{all_solvers_url}?{urlencode(dict(filter='all,-status,-avg_load'))}", |
| 141 | json=[solver_data(self.solver1_name, subset='static'), |
| 142 | solver_data(self.solver2_name, subset='static')], |
| 143 | request_headers=valid_token_headers, headers=solvers_content_type) |
| 144 | m.get(f"{all_solvers_url}?{urlencode(dict(filter='none,+id,+status,+avg_load'))}", |
| 145 | json=[solver_data(self.solver1_name, subset='dynamic'), |
| 146 | solver_data(self.solver2_name, subset='dynamic')], |
| 147 | request_headers=valid_token_headers, headers=solvers_content_type) |
| 148 | |
| 149 | m.start() |
| 150 | |
| 151 | def tearDown(self): |
nothing calls this directly
no test coverage detected