Пример #1
0
    def test_update(self):
        order, request, instance, get_data_image, update = Mock(), Mock(
        ), Mock(), Mock(), Mock()
        order.serializer = Mock(**{
            'save.return_value': Mock(),
            'is_valid.return_value': False
        })
        self.converter.get_object = order.get_object = Mock(
            return_value=instance)
        self.converter.get_serializer = order.get_serializer = Mock(
            return_value=order.serializer)
        self.converter.get_data_image = order.get_data_image = Mock(
            return_value=get_data_image)
        kwargs = {}
        common = [
            call.get_object(**kwargs),
            call.get_data_image(**kwargs),
            call.get_serializer(instance, data=get_data_image, partial=True),
            call.serializer.is_valid(raise_exception=False)
        ]

        with self.assertRaises(ValidationError):
            self.converter.update(request, kwargs)

        self.assertListEqual(order.mock_calls, common)

        order.mock_calls = []
        order.serializer.is_valid.return_value = True

        self.converter.update(request, kwargs)
        self.assertListEqual(order.mock_calls,
                             common + [call.serializer.save()])
Пример #2
0
    def test_boto_with_args(self):
        assert self.cls.is_started is False
        assert self.cls.is_finished is False
        assert self.cls.exitcode is None
        assert self.cls.output is None
        self.cls._command = ['foo', 'bar', 'baz']

        m_client = Mock()
        m_body = Mock()
        m_body.read.return_value = 'myContent'
        m_client.get_object.return_value = {
            'Body': m_body
        }
        m_fd = Mock()

        with patch.multiple(
            pbm,
            **{
                'boto3': DEFAULT,
                'requests': DEFAULT,
                'mkstemp': DEFAULT,
                'chmod': DEFAULT,
                'fdopen': DEFAULT
            }
        ) as mocks:
            mocks['boto3'].client.return_value = m_client
            mocks['mkstemp'].return_value = m_fd, '/tmp/tmpfile'
            res = self.cls._get_script('s3://bktname/path/to/key')
        assert res == ['/tmp/tmpfile', 'foo', 'bar', 'baz']
        assert self.cls.is_started is False
        assert self.cls.is_finished is False
        assert self.cls.exitcode is None
        assert self.cls.output is None
        assert mocks['boto3'].mock_calls == [
            call.client('s3'),
            call.client().get_object(Bucket='bktname', Key='path/to/key')
        ]
        assert m_client.mock_calls == [
            call.get_object(Bucket='bktname', Key='path/to/key')
        ]
        assert mocks['requests'].mock_calls == []
        assert mocks['mkstemp'].mock_calls == [
            call('ecsjobs-jname')
        ]
        assert mocks['chmod'].mock_calls == [
            call('/tmp/tmpfile', S_IRUSR | S_IWUSR | S_IXUSR)
        ]
        assert mocks['fdopen'].mock_calls == [
            call(m_fd, 'w'),
            call().write('myContent'),
            call().close()
        ]
Пример #3
0
    def test_load_filemanager_from_idl(self):
        result = load_filemanager_from_idl()

        self.assertEqual(result, sentinel.corba_object)
        self.assertEqual(self.corba_mock.mock_calls,
                         [call.get_object('FileManager', FileManager)])
Пример #4
0
    def test_load_whois_from_idl(self):
        result = load_whois_from_idl()

        self.assertEqual(result, sentinel.corba_object)
        self.assertEqual(self.corba_mock.mock_calls,
                         [call.get_object('Whois2', WhoisIntf)])