~andrewjbeach/juju-ci-tools/get-juju-dict

« back to all changes in this revision

Viewing changes to tests/test_upload_jenkins_job.py

  • Committer: Seman
  • Date: 2016-05-03 00:01:23 UTC
  • mto: This revision was merged to the branch mainline in revision 1402.
  • Revision ID: seman.said@canonical.com-20160503000123-h24cg4kk8e8tftyk
Upadated upload_jenkins_job to filter artifacts file extension.

Show diffs side-by-side

added added

removed removed

Lines of Context:
384
384
        self.assertEqual(s3_mock.store.mock_calls, calls)
385
385
        jenkins_mock.artifacts.assert_called_once_with()
386
386
 
 
387
    def test_upload_artifacts_file_ext(self):
 
388
 
 
389
        def artifacts_fake():
 
390
            for filename, i in zip(['foo.log', 'bar.svg', 'result.json'],
 
391
                                   xrange(1, 4)):
 
392
                yield filename, "artifact data {}".format(i)
 
393
        _, _, s3_mock, jenkins_mock = self._make_upload_artifacts(BUILD_NUM)
 
394
        jenkins_mock.artifacts.return_value = artifacts_fake()
 
395
        h = S3Uploader(s3_mock, jenkins_mock,
 
396
                       artifact_file_ext=['.json', '.svg'])
 
397
        h.upload_artifacts()
 
398
        calls = [
 
399
            call('1277-log-bar.svg', 'artifact data 2',
 
400
                 headers={'Content-Type': 'image/svg+xml'}),
 
401
            call('1277-log-result.json', 'artifact data 3',
 
402
                 headers={'Content-Type': 'application/json'})]
 
403
        self.assertEqual(s3_mock.store.mock_calls, calls)
 
404
        jenkins_mock.artifacts.assert_called_once_with()
 
405
 
387
406
    def _make_upload_artifacts(self, file_prefix):
388
407
        filename = '{}-log-filename'.format(file_prefix)
389
408
        headers = {"Content-Type": "application/octet-stream"}
573
592
    def test_get_args_default(self):
574
593
        args = get_args([JOB_NAME, str(BUILD_NUM), BUCKET, DIRECTORY])
575
594
        self.assertEqual(args, Namespace(
576
 
            all=False, build_number=1277, jenkins_job=JOB_NAME, latest=False,
577
 
            password=None, s3_bucket=BUCKET, s3_directory=DIRECTORY,
578
 
            unique_id=None, user=None, no_prefixes=False))
 
595
            all=False, artifact_file_ext=None, build_number=1277,
 
596
            jenkins_job=JOB_NAME, latest=False, password=None,
 
597
            s3_bucket=BUCKET, s3_directory=DIRECTORY, unique_id=None,
 
598
            user=None, no_prefixes=False))
 
599
 
 
600
    def test_get_args_artifact_file_ext(self):
 
601
        args = get_args([JOB_NAME, str(BUILD_NUM), BUCKET, DIRECTORY,
 
602
                         '--artifact-file-ext', '.svg', '.json',
 
603
                         '--unique-id', '1234'])
 
604
        self.assertEqual(args.artifact_file_ext, ['.svg', '.json'])
 
605
        self.assertEqual(args.unique_id, '1234')
579
606
 
580
607
    def test_get_s3_access(self):
581
608
        path = '/u/home'