コード例 #1
0
    def test_invoke_worker_reported_error(self, lambda_stubber: Stubber):
        lambda_stubber.add_response(
            'invoke',
            {
                'Payload':
                io.StringIO('{"status": "error", "message":"error happened"}')
            },
        )
        status, message = remediate.invoke_worker('worker', {})
        lambda_stubber.assert_no_pending_responses()

        assert status == RemediationStatus.ERROR
        assert message == 'error happened'
コード例 #2
0
    def test_invoke_worker_error(self, lambda_stubber: Stubber):
        lambda_stubber.add_response(
            'invoke',
            {
                'FunctionError': 'Unhandled',
                'Payload': io.StringIO('{"error": "TypeError"}')
            },
        )
        status, message = remediate.invoke_worker('worker', {})
        lambda_stubber.assert_no_pending_responses()

        assert status == RemediationStatus.ERROR
        assert message == '{"error": "TypeError"}'
コード例 #3
0
    def test_invoke_worker_lambda_error(self, lambda_stubber: Stubber):
        lambda_stubber.add_client_error('invoke',
                                        'ResourceNotFoundException',
                                        '',
                                        404,
                                        expected_params={
                                            'FunctionName': 'worker',
                                            'Payload': ANY
                                        })
        status, message = remediate.invoke_worker('worker', {})
        lambda_stubber.assert_no_pending_responses()

        assert status == RemediationStatus.ERROR
        assert message == 'Error invoking remediation worker'
コード例 #4
0
    def test_invoke_worker_invalid_json(self, lambda_stubber: Stubber):
        lambda_stubber.add_response(
            'invoke',
            {
                'Payload':
                io.StringIO(
                    '{"status: "invalid_status", "message":"error happened"}')
            },
        )
        status, message = remediate.invoke_worker('worker', {})
        lambda_stubber.assert_no_pending_responses()

        assert status == RemediationStatus.ERROR
        assert message == 'Invalid JSON response from remediation'
コード例 #5
0
    def test_invoke_worker_valid_response(self, lambda_stubber: Stubber):
        lambda_stubber.add_response(
            'invoke',
            {
                'Payload':
                io.StringIO(
                    '{"status": "iacOverrideRequired", "message":"iac override required"}'
                )
            },
        )
        status, message = remediate.invoke_worker('worker', {})
        lambda_stubber.assert_no_pending_responses()

        assert status == 'iacOverrideRequired'
        assert message == 'iac override required'