Beispiel #1
0
 def side_effect(name):
     if 'main_app' in name:
         return utils.Package(utils.File(pkg1))
     if 'dep_app' in name:
         return utils.Package(utils.File(pkg2))
     if 'dep_of_dep' in name:
         return utils.Package(utils.File(pkg3))
Beispiel #2
0
    def test_file_object_from_file(self):
        f_obj = tempfile.NamedTemporaryFile(delete=True)
        new_f_obj = utils.File(f_obj).open()
        self.assertTrue(hasattr(new_f_obj, 'read'))

        new_f_obj = utils.File(f_obj.name).open()
        self.assertTrue(hasattr(new_f_obj, 'read'))
Beispiel #3
0
 def side_effect(name):
     if 'M' in name:
         return utils.Package(utils.File(pkg1))
     if 'd1' in name:
         return utils.Package(utils.File(pkg2))
     if 'd2' in name:
         return utils.Package(utils.File(pkg3))
     if 'd3' in name:
         return utils.Package(utils.File(pkg4))
     if 'd4' in name:
         return utils.Package(utils.File(pkg5))
Beispiel #4
0
 def test_package_from_directory(self):
     path = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                         "fixture_data/empty-app")
     pkg = utils.Package(utils.File(path))
     self.assertEqual('empty', pkg.manifest['FullName'])
     pkg = utils.Package.from_location('', path=path)
     self.assertEqual('empty', pkg.manifest['FullName'])
Beispiel #5
0
 def test_file_object_url(self):
     resp = requests.Response()
     resp.raw = six.BytesIO(six.b("123"))
     resp.status_code = 200
     with mock.patch(
             'requests.get',
             mock.Mock(side_effect=lambda k, *args, **kwargs: resp)):
         new_f_obj = utils.File('http://127.0.0.1/').open()
         self.assertTrue(hasattr(new_f_obj, 'read'))
Beispiel #6
0
    def test_file_object_url_fails(self):
        resp = requests.Response()
        resp.status_code = 400
        resp.raw = six.BytesIO(six.b("123"))

        with mock.patch(
                'requests.get',
                mock.Mock(side_effect=lambda k, *args, **kwargs: resp)):
            f = utils.File("http://127.0.0.1")
            self.assertRaises(ValueError, f.open)
    def test_package_import_no_categories(self, from_file):
        with tempfile.NamedTemporaryFile() as f:
            RESULT_PACKAGE = f.name
            pkg = make_pkg({'FullName': RESULT_PACKAGE})
            from_file.return_value = mc_utils.Package(mc_utils.File(pkg))

            arglist = [RESULT_PACKAGE]
            parsed_args = self.check_parser(self.cmd, arglist, [])
            self.cmd.take_action(parsed_args)

            self.package_mock.create.assert_called_once_with(
                {'is_public': False},
                {RESULT_PACKAGE: mock.ANY},
            )
    def test_package_import_url(self, rm, from_file):
        filename = "http://127.0.0.1/test_package.zip"

        pkg = make_pkg({'FullName': 'test_package'})
        from_file.return_value = mc_utils.Package(mc_utils.File(pkg))

        rm.get(filename, body=make_pkg({'FullName': 'test_package'}))

        arglist = [filename]
        parsed_args = self.check_parser(self.cmd, arglist, [])
        self.cmd.take_action(parsed_args)

        self.package_mock.create.assert_called_once_with(
            {'is_public': False},
            {'test_package': mock.ANY},
        )
    def test_package_import(self, from_file):
        with tempfile.NamedTemporaryFile() as f:
            RESULT_PACKAGE = f.name
            categories = ['Cat1', 'Cat2 with space']

            pkg = make_pkg({'FullName': RESULT_PACKAGE})
            from_file.return_value = mc_utils.Package(mc_utils.File(pkg))

            arglist = [RESULT_PACKAGE, '--categories',
                       categories, '--is-public']
            parsed_args = self.check_parser(self.cmd, arglist, [])
            self.cmd.take_action(parsed_args)

            self.package_mock.create.assert_called_once_with({
                'categories': [categories],
                'is_public': True
            }, {RESULT_PACKAGE: mock.ANY},)
Beispiel #10
0
    def test_package_import_url(self, rm, from_file):
        args = TestArgs()
        args.filename = ["http://127.0.0.1/test_package.zip"]
        args.categories = None
        args.is_public = False

        pkg = make_pkg({'FullName': 'test_package'})
        from_file.return_value = utils.Package(utils.File(pkg))

        rm.get(args.filename[0], body=make_pkg({'FullName': 'test_package'}))

        v1_shell.do_package_import(self.client, args)

        self.client.packages.create.assert_called_once_with(
            {'is_public': False},
            {'test_package': mock.ANY},
        )
Beispiel #11
0
    def test_package_import(self, from_file):
        args = TestArgs()
        with tempfile.NamedTemporaryFile() as f:
            RESULT_PACKAGE = f.name
            args.filename = [RESULT_PACKAGE]
            args.categories = ['Cat1', 'Cat2 with space']
            args.is_public = True

            pkg = make_pkg({'FullName': RESULT_PACKAGE})
            from_file.return_value = utils.Package(utils.File(pkg))

            v1_shell.do_package_import(self.client, args)

            self.client.packages.create.assert_called_once_with({
                'categories': ['Cat1', 'Cat2 with space'],
                'is_public': True
            }, {RESULT_PACKAGE: mock.ANY},)
Beispiel #12
0
    def _test_conflict(self,
                       packages, from_file, raw_input_mock,
                       input_action, exists_action=''):
        packages.create = mock.MagicMock(
            side_effect=[common_exceptions.HTTPConflict("Conflict"), None])

        packages.filter.return_value = [mock.Mock(id='test_id')]

        raw_input_mock.return_value = input_action
        args = TestArgs()
        args.exists_action = exists_action
        with tempfile.NamedTemporaryFile() as f:
            args.filename = [f.name]

            pkg = make_pkg({'FullName': f.name})
            from_file.return_value = utils.Package(utils.File(pkg))

            v1_shell.do_package_import(self.client, args)
            return f.name
    def test_package_import_by_name(self, rm, from_file):
        filename = "io.test.apps.test_application"
        murano_repo_url = "http://127.0.0.1"

        pkg = make_pkg({'FullName': filename})
        from_file.return_value = mc_utils.Package(mc_utils.File(pkg))

        rm.get(murano_repo_url + '/apps/' + filename + '.zip',
               body=make_pkg({'FullName': 'first_app'}))

        arglist = [filename, '--murano-repo-url', murano_repo_url]
        parsed_args = self.check_parser(self.cmd, arglist, [])
        self.cmd.take_action(parsed_args)

        self.assertTrue(self.package_mock.create.called)
        self.package_mock.create.assert_called_once_with(
            {'is_public': False},
            {filename: mock.ANY},
        )
    def _test_conflict(self,
                       packages, from_file, raw_input_mock,
                       input_action, exists_action=''):
        packages.create = mock.MagicMock(
            side_effect=[common_exceptions.HTTPConflict("Conflict"), None])

        packages.filter.return_value = [mock.Mock(id='test_id')]

        raw_input_mock.return_value = input_action
        with tempfile.NamedTemporaryFile() as f:
            pkg = make_pkg({'FullName': f.name})
            from_file.return_value = mc_utils.Package(mc_utils.File(pkg))
            if exists_action:
                arglist = [f.name, '--exists-action', exists_action]
            else:
                arglist = [f.name]
            parsed_args = self.check_parser(self.cmd, arglist, [])
            self.cmd.take_action(parsed_args)

            return f.name
Beispiel #15
0
    def test_package_import_by_name(self, rm, from_file):
        args = TestArgs()

        args.filename = ["io.test.apps.test_application"]
        args.categories = None
        args.is_public = False
        args.murano_repo_url = "http://127.0.0.1"

        pkg = make_pkg({'FullName': args.filename[0]})
        from_file.return_value = utils.Package(utils.File(pkg))

        rm.get(args.murano_repo_url + '/apps/' + args.filename[0] + '.zip',
               body=make_pkg({'FullName': 'first_app'}))

        v1_shell.do_package_import(self.client, args)

        self.assertTrue(self.client.packages.create.called)
        self.client.packages.create.assert_called_once_with(
            {'is_public': False},
            {args.filename[0]: mock.ANY},
        )
Beispiel #16
0
 def test_file_object_file_fails(self):
     f_obj = utils.File('')
     self.assertRaises(ValueError, f_obj.open)
 def side_effect(name):
     if 'first_app' in name:
         return mc_utils.Package(mc_utils.File(pkg1))
     if 'second_app' in name:
         return mc_utils.Package(mc_utils.File(pkg2))