Example #1
0
    def get_endpoint(self):
        jit_scheduler = WebInspectJitScheduler(username=self.username,
                                               password=self.password)
        Logger.app.info("Querying WebInspect scan engines for availability.")

        endpoint = jit_scheduler.get_endpoint()
        return endpoint
Example #2
0
    def get_endpoint(self):
        # TODO this needs to be abstracted back to the jit scheduler class - left in due to time considerations
        jit_scheduler = WebInspectJitScheduler(
            server_size_needed=self.scan_size,
            username=self.username,
            password=self.password)
        Logger.app.info("Querying WebInspect servers for availability.")

        endpoint = jit_scheduler.get_endpoint()
        return endpoint
def test_jit_scheduler_no_available_servers_raise_no_available_servers_errror(is_endpoint_available_mock,
                                                                              config_mock):
    endpoints = [['some_server1.com:8083', '1'],
                 ['some_server2.com:8083', '2'],
                 ]
    config_mock.return_value.endpoints = endpoints

    jit = WebInspectJitScheduler(server_size_needed='large',
                                 username='******', password='******', timeout=.1)

    # thought this would raise either a TimeoutError or NoServersAvailable
    # but this was kinda weird.
    with pytest.raises(NoServersAvailableError):
        jit.get_endpoint()
def test_jit_scheduler_medium_server_success(is_endpoint_available_mock, config_mock):

    endpoints = [['some_server1.com:8083', '1'],
                 ['some_server2.com:8083', '2'],
                 ]
    config_mock.return_value.endpoints = endpoints

    jit = WebInspectJitScheduler(server_size_needed='medium',
                                 username='******', password='******')

    # Sadly this is a bit complex - is_available is supposed to add available endpoints to a queue
    is_endpoint_available_mock.side_effect = jit._results_queue.put(endpoints[0], False)

    result_endpoint = jit.get_endpoint()

    assert result_endpoint == 'some_server1.com:8083'
def test_jit_scheduler_large_server_multiple_same_sized_endpoints_choose_first_success(is_endpoint_available_mock,
                                                                                       config_mock):
    # test to make sure whichever adds to the queue first is chosen (first endpoint wins)
    endpoints = [['some_server1.com:8083', '2'],
                 ['some_server2.com:8083', '2'],
                 ]
    config_mock.return_value.endpoints = endpoints

    jit = WebInspectJitScheduler(server_size_needed='large',
                                 username='******', password='******')

    # pick an endpoint
    endpoint = endpoints[0]

    # Sadly this is a bit complex - is_available is supposed to add available endpoints to a queue
    is_endpoint_available_mock.side_effect = jit._results_queue.put(endpoint, False)

    result_endpoint = jit.get_endpoint()

    assert result_endpoint == endpoint[0]