def test_create_response(self):
        kwargs = {'status': 200, 'id': 42, 'body': {1: 2}}
        msg = kpm.Response(**kwargs)
        dicteq(kwargs, u.extract_attrs(msg, kwargs.keys()))
        kwargs['type'] = 'RESPONSE'
        dicteq(kwargs, msg.to_json_dict())

        msg2 = kpm.Response.from_json_dict(kwargs)
        dicteq(msg2.to_json_dict(), kwargs)
    def test_create_request(self):
        kwargs = {'method': 'POST', 'id': 42, 'path': '/dood', 'body': {1: 2}}
        msg = kpm.Request(**kwargs)
        dicteq(kwargs, u.extract_attrs(msg, kwargs.keys()))
        kwargs['type'] = 'REQUEST'
        dicteq(kwargs, msg.to_json_dict())

        msg2 = kpm.Request.from_json_dict(kwargs)
        dicteq(msg2.to_json_dict(), kwargs)
    def test_create_event(self):
        kwargs = {
            'name': 'A momentous eventous!',
            'path': '/dood',
            'body': {1: 2}
        }
        msg = kpm.Event(**kwargs)
        dicteq(kwargs, u.extract_attrs(msg, kwargs.keys()))
        kwargs['type'] = 'EVENT'
        dicteq(kwargs, msg.to_json_dict())

        msg2 = kpm.Event.from_json_dict(kwargs)
        dicteq(msg2.to_json_dict(), kwargs)
    def test_create_response(self):
        kwargs = {
            'status': 200,
            'id': 42,
            'body': {1: 2}
        }
        msg = kpm.Response(**kwargs)
        dicteq(kwargs, u.extract_attrs(msg, kwargs.keys()))
        kwargs['type'] = 'RESPONSE'
        dicteq(kwargs, msg.to_json_dict())

        msg2 = kpm.Response.from_json_dict(kwargs)
        dicteq(msg2.to_json_dict(), kwargs)
    def test_create_request(self):
        kwargs = {
            'method': 'POST',
            'id': 42,
            'path': '/dood',
            'body': {1: 2}
        }
        msg = kpm.Request(**kwargs)
        dicteq(kwargs, u.extract_attrs(msg, kwargs.keys()))
        kwargs['type'] = 'REQUEST'
        dicteq(kwargs, msg.to_json_dict())

        msg2 = kpm.Request.from_json_dict(kwargs)
        dicteq(msg2.to_json_dict(), kwargs)
    def test_create_event(self):
        kwargs = {
            'name': 'A momentous eventous!',
            'path': '/dood',
            'body': {
                1: 2
            }
        }
        msg = kpm.Event(**kwargs)
        dicteq(kwargs, u.extract_attrs(msg, kwargs.keys()))
        kwargs['type'] = 'EVENT'
        dicteq(kwargs, msg.to_json_dict())

        msg2 = kpm.Event.from_json_dict(kwargs)
        dicteq(msg2.to_json_dict(), kwargs)