Ejemplo n.º 1
0
    def test__build_header_with_context(self, mockgci):
        procmock = Mock()
        procmock.get_context.return_value = {
            'ion-actor-id': sentinel.ion_actor_id,
            'ion-actor-roles': sentinel.ion_actor_roles,
            'ion-actor-tokens': sentinel.ion_actor_tokens,
            'expiry': sentinel.expiry,
            'origin-container-id': sentinel.container_id
        }

        ep = ProcessEndpointUnitMixin(process=procmock)
        ep.channel = Mock(spec=SendChannel)
        header = ep._build_header(sentinel.raw_msg)

        self.assertIn('ion-actor-id', header)
        self.assertIn('ion-actor-roles', header)
        self.assertIn('ion-actor-tokens', header)
        self.assertIn('expiry', header)
        self.assertIn('origin-container-id', header)

        self.assertEquals(header['ion-actor-id'], sentinel.ion_actor_id)
        self.assertEquals(header['ion-actor-roles'], sentinel.ion_actor_roles)
        self.assertEquals(header['ion-actor-tokens'],
                          sentinel.ion_actor_tokens)
        self.assertEquals(header['expiry'], sentinel.expiry)
        self.assertEquals(header['origin-container-id'], sentinel.container_id)
Ejemplo n.º 2
0
    def test__build_invocation(self, mockbi):
        ep = ProcessEndpointUnitMixin(process=sentinel.proc)
        ep._build_invocation(invother=sentinel.anything)

        mockbi.assert_called_once_with(ep,
                                       process=sentinel.proc,
                                       invother=sentinel.anything)
Ejemplo n.º 3
0
    def test__intercept_msg_out(self, mocknpi, mockipi):
        mockipi.return_value = sentinel.inv2
        mocknpi.return_value = sentinel.inv2
        ep = ProcessEndpointUnitMixin(process=sentinel.proc, interceptors=sentinel_interceptors)

        ep._intercept_msg_out(sentinel.inv)

        mockipi.assert_has_calls([call(sentinel.proc_outgoing, sentinel.inv)])
        mocknpi.assert_has_calls([call(sentinel.msg_outgoing, sentinel.inv2)])
Ejemplo n.º 4
0
    def test__intercept_msg_out(self, mocknpi, mockipi):
        mockipi.return_value = sentinel.inv2
        mocknpi.return_value = sentinel.inv2
        ep = ProcessEndpointUnitMixin(process=sentinel.proc)

        ep._intercept_msg_out(sentinel.inv)

        mockipi.assert_has_calls([call(sentinel.proc_outgoing, sentinel.inv)])
        mocknpi.assert_has_calls([call(sentinel.msg_outgoing, sentinel.inv2)])
Ejemplo n.º 5
0
    def test__build_header_no_context(self, mockgci):
        ep = ProcessEndpointUnitMixin(process=Mock())
        header = ep._build_header(sentinel.raw_msg, {})

        self.assertIn('sender-name', header)
        self.assertIn('sender', header)
        self.assertIn('sender-type', header)
        self.assertNotIn('sender-service', header)
        self.assertIn('origin-container-id', header)

        self.assertEquals(header['sender-name'], ep._process.name)
        self.assertEquals(header['sender'], ep._process.id)
        self.assertEquals(header['sender-type'], ep._process.process_type)
        self.assertEquals(header['origin-container-id'], mockgci().id)
Ejemplo n.º 6
0
    def test__build_header_no_context(self, mockgci):
        ep = ProcessEndpointUnitMixin(process=Mock())
        header = ep._build_header(sentinel.raw_msg)

        self.assertIn('sender-name', header)
        self.assertIn('sender', header)
        self.assertIn('sender-type', header)
        self.assertNotIn('sender-service', header)
        self.assertIn('origin-container-id', header)

        self.assertEquals(header['sender-name'], ep._process.name)
        self.assertEquals(header['sender'], ep._process.id)
        self.assertEquals(header['sender-type'], ep._process.process_type)
        self.assertEquals(header['origin-container-id'], mockgci().id)
Ejemplo n.º 7
0
    def test__build_header_service(self, mockgci):
        procmock = Mock()
        procmock.process_type = 'service'

        ep = ProcessEndpointUnitMixin(process=procmock)
        ep.channel = Mock(spec=SendChannel)
        header = ep._build_header(sentinel.raw_msg)

        self.assertIn('sender-name', header)
        self.assertIn('sender', header)
        self.assertIn('sender-type', header)
        self.assertIn('sender-service', header)
        self.assertIn('origin-container-id', header)

        self.assertEquals(header['sender-name'], ep._process.name)
        self.assertEquals(header['sender'], ep._process.id)
        self.assertEquals(header['sender-type'], ep._process.process_type)
        self.assertEquals(header['sender-service'], "%s,%s" % (ep.channel._send_name.exchange, procmock.name))
        self.assertEquals(header['origin-container-id'], mockgci().id)
Ejemplo n.º 8
0
    def test__build_header_service(self, mockgci):
        procmock = Mock()
        procmock.process_type = 'service'

        ep = ProcessEndpointUnitMixin(process=procmock)
        ep.channel = Mock(spec=SendChannel)
        header = ep._build_header(sentinel.raw_msg, {})

        self.assertIn('sender-name', header)
        self.assertIn('sender', header)
        self.assertIn('sender-type', header)
        self.assertIn('sender-service', header)
        self.assertIn('origin-container-id', header)

        self.assertEquals(header['sender-name'], ep._process.name)
        self.assertEquals(header['sender'], ep._process.id)
        self.assertEquals(header['sender-type'], ep._process.process_type)
        self.assertEquals(header['sender-service'], "%s,%s" % (ep.channel._send_name.exchange, procmock.name))
        self.assertEquals(header['origin-container-id'], mockgci().id)
Ejemplo n.º 9
0
    def _build_security_headers(self):
        """
        Builds additional security headers to be passed through to EMS.
        """
        # pull context from container
        ctx = self.container.context.get_context()

        if isinstance(ctx, dict):
            return ProcessEndpointUnitMixin.build_security_headers(ctx)

        return None
Ejemplo n.º 10
0
Archivo: exchange.py Proyecto: daf/pyon
    def _build_security_headers(self):
        """
        Builds additional security headers to be passed through to EMS.
        """
        # pull context from container
        ctx = self.container.context.get_context()

        if isinstance(ctx, dict):
            return ProcessEndpointUnitMixin.build_security_headers(ctx)

        return None
Ejemplo n.º 11
0
    def test__build_header_with_context(self, mockgci):
        procmock = Mock()
        procmock.get_context.return_value={'ion-actor-id': sentinel.ion_actor_id,
                                           'ion-actor-roles': sentinel.ion_actor_roles,
                                           'ion-actor-tokens': sentinel.ion_actor_tokens,
                                           'expiry': sentinel.expiry,
                                           'origin-container-id': sentinel.container_id}

        ep = ProcessEndpointUnitMixin(process=procmock)
        ep.channel = Mock(spec=SendChannel)
        header = ep._build_header(sentinel.raw_msg, {})

        self.assertIn('ion-actor-id', header)
        self.assertIn('ion-actor-roles', header)
        self.assertIn('ion-actor-tokens', header)
        self.assertIn('expiry', header)
        self.assertIn('origin-container-id', header)

        self.assertEquals(header['ion-actor-id'], sentinel.ion_actor_id)
        self.assertEquals(header['ion-actor-roles'], sentinel.ion_actor_roles)
        self.assertEquals(header['ion-actor-tokens'], sentinel.ion_actor_tokens)
        self.assertEquals(header['expiry'], sentinel.expiry)
        self.assertEquals(header['origin-container-id'], sentinel.container_id)
Ejemplo n.º 12
0
 def test__get_sflow_manager(self):
     ep = ProcessEndpointUnitMixin(process=Mock())
     self.assertEquals(ep._get_sflow_manager(),
                       ep._process.container.sflow_manager)
Ejemplo n.º 13
0
 def test__get_sample_name(self):
     ep = ProcessEndpointUnitMixin(process=Mock())
     self.assertEquals(ep._get_sample_name(), str(ep._process.id))
Ejemplo n.º 14
0
 def test_init(self, mockep):
     ep = ProcessEndpointUnitMixin(process=sentinel.proc,
                                   other=sentinel.other)
     self.assertEquals(ep._process, sentinel.proc)
     mockep.assert_called_once_with(ep, other=sentinel.other)
Ejemplo n.º 15
0
 def test__get_sample_name(self):
     ep = ProcessEndpointUnitMixin(process=Mock())
     self.assertEquals(ep._get_sample_name(), str(ep._process.id))
Ejemplo n.º 16
0
 def test__get_sflow_manager(self):
     ep = ProcessEndpointUnitMixin(process=Mock())
     self.assertEquals(ep._get_sflow_manager(), ep._process.container.sflow_manager)
Ejemplo n.º 17
0
    def test__build_invocation(self, mockbi):
        ep = ProcessEndpointUnitMixin(process=sentinel.proc)
        ep._build_invocation(invother=sentinel.anything)

        mockbi.assert_called_once_with(ep, process=sentinel.proc, invother=sentinel.anything)