Ejemplo n.º 1
0
 def test_missing_testrun_id(self, config_prop, captured_log):
     submit.submit_and_verify(
         "<testsuites><properties></properties></testsuites>",
         config=config_prop,
         user="******",
         password="******",
         session="foo",
         no_verify=True,
     )
     assert "missing testrun id" in captured_log.getvalue()
Ejemplo n.º 2
0
 def test_fill_testrun_submit(self, config_prop):
     fname = "properties.xml"
     submit.submit_and_verify(
         xml_file=os.path.join(conf.DATA_PATH, fname),
         testrun_id="5_8_0_17",
         config=config_prop,
         user="******",
         password="******",
         session=DummySession(DummyResponse),
         no_verify=True,
     )
Ejemplo n.º 3
0
def initial_submit(args, submit_args, config, log):
    """Submits XML to Polarion and saves the log file returned by the message bus."""
    if os.path.isfile(log) and not args.testrun_init:
        # log file already exists, no need to generate one
        return
    elif args.no_submit:
        raise NothingToDoException(
            'Instructed not to submit and as the message bus log is missing, '
            'there\'s nothing more to do')

    if args.testrun_init:
        # we want to init new test run
        fname = _TEST_RUN_XML
        xml_root = utils.get_xml_root(fname)
    else:
        # we want to just get the log file without changing anything
        fname = _TEST_CASE_XML
        xml_root = utils.get_xml_root(fname)
        utils.set_dry_run(xml_root)
        utils.set_lookup_method(xml_root, 'name')

    utils.remove_response_property(xml_root)

    if args.output_dir:
        path, name = os.path.split(fname)
        init_file = _get_import_file_name(args, name, args.output_dir or path,
                                          'init')
        utils.write_xml(xml_root, init_file)

    if not submit.submit_and_verify(
            xml_root=xml_root, config=config, log_file=log, **submit_args):
        raise TestcasesException('Failed to do the initial submit')
Ejemplo n.º 4
0
def create_missing_testcases(args, submit_args, config, filtered_xmls):
    """Creates missing testcases in Polarion."""
    job_log = _get_job_log(args, 'testcases')
    retval = submit.submit_and_verify(xml_root=filtered_xmls.missing_testcases,
                                      config=config,
                                      log_file=job_log,
                                      **submit_args)
    return retval
Ejemplo n.º 5
0
 def test_verify_none(self, config_prop, captured_log):
     input_file = os.path.join(conf.DATA_PATH, 'complete_transform.xml')
     with patch('requests.post'), \
             patch('dump2polarion.msgbus.get_verification_func', return_value=None):
         response = submit.submit_and_verify(
             xml_file=input_file, config=config_prop, user='******', password='******')
     assert not response
     assert 'Results received' in captured_log.getvalue()
Ejemplo n.º 6
0
def add_missing_testcases_to_testrun(args, submit_args, config, filtered_xmls):
    """Adds missing testcases to testrun."""
    job_log = _get_job_log(args, 'testrun')
    retval = submit.submit_and_verify(
        xml_root=filtered_xmls.missing_testsuites,
        config=config,
        log_file=job_log,
        **submit_args)
    return retval
Ejemplo n.º 7
0
 def test_no_verify(self, config_prop, captured_log):
     input_file = os.path.join(conf.DATA_PATH, 'complete_transform.xml')
     with patch('requests.post'):
         response = submit.submit_and_verify(xml_file=input_file,
                                             config=config_prop,
                                             user='******',
                                             password='******',
                                             no_verify=True)
     assert response
     assert 'Results received' in captured_log.getvalue()
Ejemplo n.º 8
0
 def test_file_testsuites_none(self, config_prop, captured_log):
     input_file = os.path.join(conf.DATA_PATH, "complete_transform.xml")
     response = submit.submit_and_verify(
         xml_file=input_file,
         config=config_prop,
         user="******",
         password="******",
         session=DummySession(lambda: None),
         no_verify=True,
     )
     assert not response
     assert "Failed to submit" in captured_log.getvalue()
Ejemplo n.º 9
0
 def test_verify_success(self, config_prop, captured_log):
     input_file = os.path.join(conf.DATA_PATH, 'complete_transform.xml')
     with patch('requests.post'), \
             patch('dump2polarion.verify.QueueSearch') as mock:
         instance = mock.return_value
         instance.queue_init.return_value = True
         instance.verify_submit.return_value = True
         response = submit.submit_and_verify(xml_file=input_file,
                                             config=config_prop,
                                             user='******',
                                             password='******')
     assert response
     assert 'Results received' in captured_log.getvalue()
Ejemplo n.º 10
0
 def test_no_verify(self, config_prop, captured_log):
     input_file = os.path.join(conf.DATA_PATH, "complete_transform.xml")
     response = submit.submit_and_verify(
         xml_file=input_file,
         config=config_prop,
         user="******",
         password="******",
         session=DummySession(
             lambda: DummyResponse({"files": {"results.xml": {"job-ids": [1, 2]}}})
         ),
         no_verify=True,
     )
     assert response
     assert "Results received" in captured_log.getvalue()
Ejemplo n.º 11
0
 def test_file_testcases_success(self, config_prop, captured_log):
     input_file = os.path.join(conf.DATA_PATH, "testcases.xml")
     response = submit.submit_and_verify(
         xml_file=input_file,
         config=config_prop,
         user="******",
         password="******",
         session=DummySession(
             lambda: DummyResponse({"files": {"results.xml": {"job-ids": [1, 2]}}})
         ),
         no_verify=True,
     )
     assert response
     logged_data = captured_log.getvalue()
     assert "Results received" in logged_data
     assert "Job ID" in logged_data
Ejemplo n.º 12
0
 def test_verify_success(self, config_prop, captured_log):
     input_file = os.path.join(conf.DATA_PATH, "complete_transform.xml")
     with patch("dump2polarion.verify.QueueSearch") as mock:
         instance = mock.return_value
         instance.verify_submit.return_value = True
         response = submit.submit_and_verify(
             xml_file=input_file,
             config=config_prop,
             user="******",
             password="******",
             session=DummySession(
                 lambda: DummyResponse({"files": {"results.xml": {"job-ids": [1, 2]}}})
             ),
         )
     assert response
     assert "Results received" in captured_log.getvalue()
Ejemplo n.º 13
0
    def test_file_testsuites_exception(self, config_prop, captured_log):
        def _raise():
            raise Exception("request failed")

        input_file = os.path.join(conf.DATA_PATH, "complete_transform.xml")
        response = submit.submit_and_verify(
            xml_file=input_file,
            config=config_prop,
            user="******",
            password="******",
            session=DummySession(_raise),
            no_verify=True,
        )
        assert not response
        logged_data = captured_log.getvalue()
        assert "request failed" in logged_data
        assert "Failed to submit" in logged_data
Ejemplo n.º 14
0
 def test_no_verify(self, config_prop, captured_log):
     input_file = os.path.join(conf.DATA_PATH, 'complete_transform.xml')
     response = submit.submit_and_verify(
         xml_file=input_file,
         config=config_prop,
         user='******',
         password='******',
         session=DummySession(lambda: DummyResponse(
             {'files': {
                 'results.xml': {
                     'job-ids': [1, 2]
                 }
             }})),
         no_verify=True,
     )
     assert response
     assert 'Results received' in captured_log.getvalue()
Ejemplo n.º 15
0
 def test_verify_success(self, config_prop, captured_log):
     input_file = os.path.join(conf.DATA_PATH, 'complete_transform.xml')
     with patch('dump2polarion.verify.QueueSearch') as mock:
         instance = mock.return_value
         instance.verify_submit.return_value = True
         response = submit.submit_and_verify(
             xml_file=input_file,
             config=config_prop,
             user='******',
             password='******',
             session=DummySession(lambda: DummyResponse(
                 {'files': {
                     'results.xml': {
                         'job-ids': [1, 2]
                     }
                 }})))
     assert response
     assert 'Results received' in captured_log.getvalue()
Ejemplo n.º 16
0
    def test_file_testsuites_failure(self, config_prop, captured_log):
        class Response:
            def __init__(self):
                self.status_code = 404
                self.url = "foo"

            def __len__(self):
                return 0

        input_file = os.path.join(conf.DATA_PATH, "complete_transform.xml")
        response = submit.submit_and_verify(
            xml_file=input_file,
            config=config_prop,
            user="******",
            password="******",
            session=DummySession(Response),
            no_verify=True,
        )
        assert not response
        assert "HTTP status 404: failed to submit" in captured_log.getvalue()
Ejemplo n.º 17
0
 def test_missing_input(self, config_prop, captured_log):
     with patch('requests.post'):
         submit.submit_and_verify('', config=config_prop)
     assert 'no data supplied' in captured_log.getvalue()
Ejemplo n.º 18
0
 def _run_submit(results, args_dict):
     retval = submit.submit_and_verify(**args_dict)
     results.append(retval)
Ejemplo n.º 19
0
 def test_missing_target(self, config_prop, captured_log):
     submit.submit_and_verify("<foo/>", config=config_prop, no_verify=True)
     assert "submit target not found" in captured_log.getvalue()
Ejemplo n.º 20
0
 def test_missing_credentials(self, config_prop, captured_log):
     submit.submit_and_verify("<testcases/>", config=config_prop, no_verify=True)
     assert "missing credentials" in captured_log.getvalue()
Ejemplo n.º 21
0
 def test_missing_input(self, config_prop, captured_log):
     submit.submit_and_verify("", config=config_prop, no_verify=True)
     assert "no data supplied" in captured_log.getvalue()