Пример #1
0
    def test_get_request_dict_wrong_headers(self):
        req = Requester('foo', 'bar')

        with self.assertRaises(AssertionError) as na:
            req.get_request_dict(params={}, data=None, headers='wrong')
        self.assertTrue(
            str(na.exception) == "headers must be a dict, got 'wrong'")
Пример #2
0
 def test_post_xml_and_confirm_status_empty_xml(self, _post):
     _post.return_value = mock.Mock()
     req = Requester('foo', 'bar')
     with self.assertRaises(AssertionError) as ae:
         req.post_xml_and_confirm_status(url='http://dummy',
                                         params={'param': 'value'},
                                         data=None)
Пример #3
0
 def test_get_url(self, _get):
     _get.return_value = 'SUCCESS'
     req = Requester('foo', 'bar')
     self.assertTrue(
         req.get_url('http://dummy',
                     params={'param': 'value'},
                     headers=None) == 'SUCCESS')
Пример #4
0
def test_get_request_dict_auth():
    req = Requester('foo', 'bar')

    req_return = req.get_request_dict(params={}, data=None, headers=None)
    assert isinstance(req_return, dict)
    assert req_return.get('auth')
    assert req_return['auth'] == ('foo', 'bar')
Пример #5
0
 def test_get_url_post(self, _post):
     _post.return_value = 'SUCCESS'
     req = Requester('foo', 'bar')
     response = req.post_url('http://dummy',
                             params={'param': 'value'},
                             headers=None)
     self.assertTrue(response == 'SUCCESS')
Пример #6
0
 def test_get_and_confirm_status(self, _get):
     response = requests.Response()
     response.status_code = 200
     _get.return_value = response
     req = Requester('foo', 'bar')
     ret = req.get_and_confirm_status(url='http://dummy',
                                      params={'param': 'value'})
     self.assertTrue(isinstance(ret, requests.Response))
Пример #7
0
 def test_get_url_get(self, _get):
     _get.return_value = 'SUCCESS'
     req = Requester('foo', 'bar')
     response = req.get_url(
         'http://dummy',
         params={'param': 'value'},
         headers=None)
     self.assertEqual(response, 'SUCCESS')
Пример #8
0
 def test_get_url_post(self, _post):
     _post.return_value = 'SUCCESS'
     req = Requester('foo', 'bar')
     response = req.post_url(
         'http://dummy',
         params={'param': 'value'},
         headers=None)
     self.assertTrue(response == 'SUCCESS')
Пример #9
0
def test_get_request_dict_cookie():
    req = Requester('foo', 'bar')

    req_return = req.get_request_dict(params={}, data=None, headers=None)
    assert isinstance(req_return, dict)
    assert req_return.get('headers')
    assert req_return.get('headers').get('Cookie')
    assert req_return.get('headers').get('Cookie') == 'FAKE'
Пример #10
0
    def test_get_request_dict_auth(self):
        req = Requester('foo', 'bar')

        req_return = req.get_request_dict(url='http://', params={}, data=None,
                headers=None)
        self.assertTrue(isinstance(req_return, dict))
        self.assertTrue(req_return.get('auth'))
        self.assertTrue(req_return['auth']==('foo', 'bar'))
Пример #11
0
    def test_get_request_dict_wrong_headers(self):
        req = Requester('foo', 'bar')

        with self.assertRaises(AssertionError) as na:
            req_return = req.get_request_dict(url='http://', params={}, 
                data=None, headers='wrong')
        self.assertTrue(
                na.exception.message=="headers must be a dict, got 'wrong'")
Пример #12
0
def test_get_request_dict_data_not_passed():
    req = Requester('foo', 'bar')

    req_return = req.get_request_dict(params={'param': 'value'},
                                      data=None,
                                      headers={'header': 'value'})

    assert isinstance(req_return, dict)
    assert req_return.get('data') is None
Пример #13
0
 def test_post_xml_and_confirm_status_empty_xml(self, _post):
     _post.return_value = mock.Mock()
     req = Requester('foo', 'bar')
     with self.assertRaises(AssertionError) as ae:
         req.post_xml_and_confirm_status(
             url='http://dummy',
             params={'param': 'value'},
             data=None
         )
Пример #14
0
 def test_get_and_confirm_status(self, _get):
     response = requests.Response()
     response.status_code = 200
     _get.return_value = response
     req = Requester('foo', 'bar')
     ret = req.get_and_confirm_status(
                     url='http://dummy',
                     params={'param': 'value'})
     self.assertTrue(isinstance(ret, requests.Response))
Пример #15
0
    def test_get_request_dict_data_not_passed(self):
        req = Requester('foo', 'bar')

        req_return = req.get_request_dict(url='http://', 
            params={'param': 'value'},
            data=None, headers={'header': 'value'})

        self.assertTrue(isinstance(req_return, dict))
        self.assertFalse(req_return.get('data'))
Пример #16
0
    def test_get_request_dict_data_not_passed(self):
        req = Requester('foo', 'bar')

        req_return = req.get_request_dict(params={'param': 'value'},
                                          data=None,
                                          headers={'header': 'value'})

        self.assertTrue(isinstance(req_return, dict))
        self.assertFalse(req_return.get('data'))
Пример #17
0
 def test_post_and_confirm_status_some_data(self, _post):
     response = requests.Response()
     response.status_code = 200
     _post.return_value = response
     req = Requester('foo', 'bar')
     ret = req.post_and_confirm_status(url='http://dummy',
                                       params={'param': 'value'},
                                       data='some data')
     self.assertTrue(isinstance(ret, requests.Response))
Пример #18
0
    def test_get_request_dict_wrong_params(self):
        req = Requester('foo', 'bar')

        with self.assertRaises(AssertionError) as na:
            req.get_request_dict(
                params='wrong',
                data=None,
                headers=None
            )
        self.assertTrue(na.exception.message == "Params must be a dict, got 'wrong'")
Пример #19
0
    def test_get_request_dict_correct_params(self):
        req = Requester('foo', 'bar')

        req_return = req.get_request_dict(params={'param': 'value'},
                                          data=None,
                                          headers=None)

        self.assertTrue(isinstance(req_return, dict))
        self.assertTrue(req_return.get('params'))
        self.assertTrue(req_return['params'] == {'param': 'value'})
Пример #20
0
def test_get_request_dict_wrong_headers():
    req = Requester('foo', 'bar')

    with pytest.raises(AssertionError) as na:
        req.get_request_dict(
            params={},
            data=None,
            headers='wrong'
        )
    assert "headers must be a dict, got 'wrong'" in str(na.value)
Пример #21
0
    def test_post_and_confirm_status_empty_data(self, _post):
        _post.return_value = 'SUCCESS'
        req = Requester('foo', 'bar')
        with self.assertRaises(AssertionError) as ae:
            req.post_and_confirm_status(
                            url='http://dummy',
                            params={'param': 'value'},
                            data=None)

        self.assertTrue(ae.exception.message=='Unexpected data type: None')
Пример #22
0
    def test_get_request_dict_wrong_headers(self):
        req = Requester('foo', 'bar')

        with self.assertRaises(AssertionError) as na:
            req.get_request_dict(
                params={},
                data=None,
                headers='wrong'
            )
        self.assertTrue(str(na.exception) == "headers must be a dict, got 'wrong'")
Пример #23
0
    def test_post_xml_and_confirm_status_empty_xml(self, _post):
        _post.return_value = 'SUCCESS'
        req = Requester('foo', 'bar')
        with self.assertRaises(AssertionError) as ae:
            req.post_xml_and_confirm_status(
                            url='http://dummy',
                            params={'param': 'value'},
                            data=None)

        self.assertTrue(ae.exception.message=="Unexpected type of parameter 'data': <type 'NoneType'>. Expected (str, dict)")
Пример #24
0
def test_get_request_dict_nocookie():
    req = Requester('foo', 'bar')

    req_return = req.get_request_dict(
        params={},
        data=None,
        headers=None
    )
    assert isinstance(req_return, dict)
    assert not req_return.get('headers')
Пример #25
0
    def test_get_request_dict_auth(self):
        req = Requester('foo', 'bar')

        req_return = req.get_request_dict(url='http://',
                                          params={},
                                          data=None,
                                          headers=None)
        self.assertTrue(isinstance(req_return, dict))
        self.assertTrue(req_return.get('auth'))
        self.assertTrue(req_return['auth'] == ('foo', 'bar'))
Пример #26
0
 def test_post_and_confirm_status_some_data(self, _post):
     response = requests.Response()
     response.status_code = 200
     _post.return_value = response
     req = Requester('foo', 'bar')
     ret = req.post_and_confirm_status(
                     url='http://dummy',
                     params={'param': 'value'},
                     data='some data')
     self.assertTrue(isinstance(ret, requests.Response))
Пример #27
0
def test_get_request_dict_correct_headers():
    req = Requester('foo', 'bar')

    req_return = req.get_request_dict(params={'param': 'value'},
                                      data=None,
                                      headers={'header': 'value'})

    assert isinstance(req_return, dict)
    assert req_return.get('headers')
    assert req_return['headers'] == {'header': 'value'}
Пример #28
0
    def test_get_request_dict_wrong_headers(self):
        req = Requester('foo', 'bar')

        with self.assertRaises(AssertionError) as na:
            req_return = req.get_request_dict(url='http://',
                                              params={},
                                              data=None,
                                              headers='wrong')
        self.assertTrue(
            na.exception.message == "headers must be a dict, got 'wrong'")
Пример #29
0
    def test_get_request_dict_correct_headers(self):
        req = Requester('foo', 'bar')

        req_return = req.get_request_dict(url='http://', 
            params={'param': 'value'},
            data=None, headers={'header': 'value'})

        self.assertTrue(isinstance(req_return, dict))
        self.assertTrue(req_return.get('headers'))
        self.assertTrue(req_return['headers']=={'header': 'value'})
Пример #30
0
    def test_post_and_confirm_status_empty_data(self, _post):
        _post.return_value = 'SUCCESS'
        req = Requester('foo', 'bar')
        with self.assertRaises(AssertionError) as ae:
            req.post_and_confirm_status(
                url='http://dummy',
                params={'param': 'value'},
                data=None
            )

        self.assertTrue(str(ae.exception) == "Unexpected type of parameter 'data': %s. Expected (str, dict)" % type(None))
Пример #31
0
def test_get_request_dict_auth():
    req = Requester('foo', 'bar')

    req_return = req.get_request_dict(
        params={},
        data=None,
        headers=None
    )
    assert isinstance(req_return, dict)
    assert req_return.get('auth')
    assert req_return['auth'] == ('foo', 'bar')
Пример #32
0
def test_get_request_dict_data_not_passed():
    req = Requester('foo', 'bar')

    req_return = req.get_request_dict(
        params={'param': 'value'},
        data=None,
        headers={'header': 'value'}
    )

    assert isinstance(req_return, dict)
    assert req_return.get('data') is None
Пример #33
0
    def test_get_and_confirm_status_bad_result(self, _get):
        response = requests.Response()
        response.status_code = 500
        _get.return_value = response

        req = Requester('foo', 'bar', baseurl='http://dummy')
        with self.assertRaises(JenkinsAPIException) as ae:
            req.get_and_confirm_status(url='http://dummy',
                                       params={'param': 'value'})

        self.assertIsInstance(ae.exception, JenkinsAPIException)
Пример #34
0
    def test_get_request_dict_data_passed(self):
        req = Requester('foo', 'bar')

        req_return = req.get_request_dict(url='http://', 
            params={'param': 'value'},
            data='some data', headers={'header': 'value'})

        self.assertTrue(isinstance(req_return, dict))
        print req_return.get('data')
        self.assertTrue(req_return.get('data'))
        self.assertTrue(req_return['data']=='some data')
Пример #35
0
    def test_get_request_dict_data_passed(self):
        req = Requester('foo', 'bar')

        req_return = req.get_request_dict(params={'param': 'value'},
                                          data='some data',
                                          headers={'header': 'value'})

        self.assertTrue(isinstance(req_return, dict))
        # print(req_return.get('data'))
        self.assertTrue(req_return.get('data'))
        self.assertTrue(req_return['data'] == 'some data')
Пример #36
0
def test_post_and_confirm_status_empty_data(monkeypatch):
    def fake_post(*args, **kwargs):  # pylint: disable=unused-argument
        return 'SUCCESS'

    monkeypatch.setattr(requests, 'post', fake_post)

    req = Requester('foo', 'bar')
    with pytest.raises(AssertionError):
        req.post_and_confirm_status(url='http://dummy',
                                    params={'param': 'value'},
                                    data=None)
Пример #37
0
    def test_get_request_dict_correct_params(self):
        req = Requester('foo', 'bar')

        req_return = req.get_request_dict(
            params={'param': 'value'},
            data=None,
            headers=None
        )

        self.assertTrue(isinstance(req_return, dict))
        self.assertTrue(req_return.get('params'))
        self.assertEqual(req_return['params'], {'param': 'value'})
Пример #38
0
def test_get_url_post(monkeypatch):
    def fake_post(*args, **kwargs):  # pylint: disable=unused-argument
        return 'SUCCESS'

    monkeypatch.setattr(requests, 'post', fake_post)

    req = Requester('foo', 'bar')
    response = req.post_url('http://dummy',
                            params={'param': 'value'},
                            headers=None)

    assert response == 'SUCCESS'
Пример #39
0
def test_get_request_dict_correct_headers():
    req = Requester('foo', 'bar')

    req_return = req.get_request_dict(
        params={'param': 'value'},
        data=None,
        headers={'header': 'value'}
    )

    assert isinstance(req_return, dict)
    assert req_return.get('headers')
    assert req_return['headers'] == {'header': 'value'}
Пример #40
0
    def test_get_and_confirm_status_bad_result(self, _get):
        response = requests.Response()
        response.status_code = 500
        _get.return_value = response

        req = Requester('foo', 'bar', baseurl='http://dummy')
        with self.assertRaises(JenkinsAPIException) as ae:
            req.get_and_confirm_status(
                url='http://dummy',
                params={'param': 'value'}
            )

        self.assertIsInstance(ae.exception, JenkinsAPIException)
Пример #41
0
def test_post_and_confirm_status_empty_data(monkeypatch):
    def fake_post(*args, **kwargs):  # pylint: disable=unused-argument
        return 'SUCCESS'

    monkeypatch.setattr(requests, 'post', fake_post)

    req = Requester('foo', 'bar')
    with pytest.raises(AssertionError):
        req.post_and_confirm_status(
            url='http://dummy',
            params={'param': 'value'},
            data=None
        )
Пример #42
0
def test_get_url_get(monkeypatch):
    def fake_get(*args, **kwargs):  # pylint: disable=unused-argument
        return 'SUCCESS'

    monkeypatch.setattr(requests, 'get', fake_get)

    req = Requester('foo', 'bar')
    response = req.get_url(
        'http://dummy',
        params={'param': 'value'},
        headers=None)

    assert response == 'SUCCESS'
Пример #43
0
    def test_get_and_confirm_status_bad_result(self, _get):
        response = requests.Response()
        response.status_code = 500
        _get.return_value = response

        req = Requester('foo', 'bar')
        with self.assertRaises(JenkinsAPIException) as ae:
            req.get_and_confirm_status(
                            url='http://dummy',
                            params={'param': 'value'})

        print ae.exception.message
        self.assertTrue(ae.exception.message=="Operation failed. url=None, headers=None, status=500, text=")
Пример #44
0
    def test_post_and_confirm_status_bad_result(self, _post):
        response = requests.Response()
        response.status_code = 500
        _post.return_value = response

        req = Requester('foo', 'bar')
        with self.assertRaises(JenkinsAPIException) as ae:
            req.post_and_confirm_status(
                            url='http://dummy',
                            params={'param': 'value'},
                            data='some data')

        print ae.exception.message
        self.assertTrue(ae.exception.message=="Operation failed. url=None, data=some data, headers={'Content-Type': 'application/x-www-form-urlencoded'}, status=500, text=")
Пример #45
0
    def test_get_and_confirm_status_bad_result(self, _get):
        response = requests.Response()
        response.status_code = 500
        _get.return_value = response

        req = Requester('foo', 'bar')
        with self.assertRaises(JenkinsAPIException) as ae:
            req.get_and_confirm_status(url='http://dummy',
                                       params={'param': 'value'})

        print ae.exception.message
        self.assertTrue(
            ae.exception.message ==
            "Operation failed. url=None, headers=None, status=500, text=")
Пример #46
0
def test_get_request_dict_updatecookie():
    req = Requester('foo', 'bar')

    req_return = req.get_request_dict(
        params={},
        data=None,
        headers={'key': 'value'}
    )
    assert isinstance(req_return, dict)
    assert req_return.get('headers')
    assert req_return.get('headers').get('key')
    assert req_return.get('headers').get('key') == 'value'
    assert req_return.get('headers').get('Cookie')
    assert req_return.get('headers').get('Cookie') == 'FAKE'
Пример #47
0
def test_get_and_confirm_status(monkeypatch):
    class FakeResponse(requests.Response):
        def __init__(self, *args, **kwargs):  # pylint: disable=unused-argument
            self.status_code = 200

    def fake_get(*args, **kwargs):  # pylint: disable=unused-argument
        return FakeResponse()

    monkeypatch.setattr(requests, 'get', fake_get)

    req = Requester('foo', 'bar')
    ret = req.get_and_confirm_status(url='http://dummy',
                                     params={'param': 'value'})
    assert isinstance(ret, requests.Response)
Пример #48
0
    def test_post_and_confirm_status_bad_result(self, _post):
        response = requests.Response()
        response.status_code = 500
        _post.return_value = response

        req = Requester('foo', 'bar')
        with self.assertRaises(JenkinsAPIException) as ae:
            req.post_and_confirm_status(
                url='http://dummy',
                params={'param': 'value'},
                data='some data'
            )

        print ae.exception.message
        self.assertTrue(ae.exception.message == "Operation failed. url=None, data=some data, headers={'Content-Type': 'application/x-www-form-urlencoded'}, status=500, text=")
Пример #49
0
def test_post_xml_and_confirm_status_some_xml(monkeypatch):
    class FakeResponse(requests.Response):
        def __init__(self, *args, **kwargs):  # pylint: disable=unused-argument
            self.status_code = 200

    def fake_post(*args, **kwargs):  # pylint: disable=unused-argument
        return FakeResponse()

    monkeypatch.setattr(requests.Session, 'post', fake_post)

    req = Requester('foo', 'bar')
    ret = req.post_xml_and_confirm_status(url='http://dummy',
                                          params={'param': 'value'},
                                          data='<xml/>')
    assert isinstance(ret, requests.Response)
Пример #50
0
def test_get_and_confirm_status_bad_result(monkeypatch):
    class FakeResponse(object):
        def __init__(self, *args, **kwargs):  # pylint: disable=unused-argument
            self.status_code = 500
            self.url = 'http://dummy'
            self.text = 'something'

    def fake_get(*args, **kwargs):  # pylint: disable=unused-argument
        return FakeResponse()

    monkeypatch.setattr(requests, 'get', fake_get)

    req = Requester('foo', 'bar', baseurl='http://dummy')
    with pytest.raises(JenkinsAPIException):
        req.get_and_confirm_status(url='http://dummy',
                                   params={'param': 'value'})
Пример #51
0
def test_get_and_confirm_status(monkeypatch):
    class FakeResponse(requests.Response):
        def __init__(self, *args, **kwargs):  # pylint: disable=unused-argument
            self.status_code = 200

    def fake_get(*args, **kwargs):  # pylint: disable=unused-argument
        return FakeResponse()

    monkeypatch.setattr(requests, 'get', fake_get)

    req = Requester('foo', 'bar')
    ret = req.get_and_confirm_status(
        url='http://dummy',
        params={'param': 'value'}
    )
    assert isinstance(ret, requests.Response)
Пример #52
0
def test_mix_five_unnamed_named_parameters():
    req = Requester('foo', 'bar', False, 'foobar', 'http://dummy', timeout=5)
    assert isinstance(req, Requester)
    assert req.username == 'foo'
    assert req.password == 'bar'
    assert not req.ssl_verify
    assert req.cert == 'foobar'
    assert req.base_scheme == 'http', 'dummy'
    assert req.timeout == 5
Пример #53
0
def test_no_parameters_uses_default_values():
    req = Requester()
    assert isinstance(req, Requester)
    assert req.username is None
    assert req.password is None
    assert req.ssl_verify
    assert req.cert is None
    assert req.base_scheme is None
    assert req.timeout == 10
Пример #54
0
def test_get_and_confirm_status_bad_result(monkeypatch):
    class FakeResponse(object):
        def __init__(self, *args, **kwargs):  # pylint: disable=unused-argument
            self.status_code = 500
            self.url = 'http://dummy'
            self.text = 'something'

    def fake_get(*args, **kwargs):  # pylint: disable=unused-argument
        return FakeResponse()

    monkeypatch.setattr(requests, 'get', fake_get)

    req = Requester('foo', 'bar', baseurl='http://dummy')
    with pytest.raises(JenkinsAPIException):
        req.get_and_confirm_status(
            url='http://dummy',
            params={'param': 'value'}
        )
Пример #55
0
def test_all_named_parameters():
    req = Requester(username='******',
                    password='******',
                    ssl_verify=False,
                    cert='foobar',
                    baseurl='http://dummy',
                    timeout=5)
    assert isinstance(req, Requester)
    assert req.username == 'foo'
    assert req.password == 'bar'
    assert not req.ssl_verify
    assert req.cert == 'foobar'
    assert req.base_scheme == 'http', 'dummy'
    assert req.timeout == 5
Пример #56
0
def get_jenkins_instance(server):
    try:
        if server.get('baseurl', '').split('//')[1] in servers:
            return servers[server.get('baseurl', '').split('//')[1]]

        connection = Jenkins(server.get('baseurl', ''),
                             requester=Requester(
                                 username=server.get('username', ''),
                                 password=server.get('pass_or_token', ''),
                                 **server.get('extra', None)))
        servers[server.get('baseurl', '').split('//')[1]] = connection
        return connection
    except requests.HTTPError as hte:
        logger.exception(hte)
        logger.warn("Failed to connect to {}".format(server.get('url', '')))
        raise
Пример #57
0
def test_get_request_dict_wrong_headers():
    req = Requester('foo', 'bar')

    with pytest.raises(AssertionError) as na:
        req.get_request_dict(params={}, data=None, headers='wrong')
    assert "headers must be a dict, got 'wrong'" in str(na.value)
Пример #58
0
 def test_get_url(self, _get):
     _get.return_value = 'SUCCESS'
     req = Requester('foo', 'bar')
     self.assertTrue(req.get_url('http://dummy', 
                     params={'param': 'value'},
                     headers=None)=='SUCCESS')