示例#1
0
    def test_activitypub_field_mixin(self):
        """generic mixin with super basic to and from functionality"""
        instance = fields.ActivitypubFieldMixin()
        self.assertEqual(instance.field_to_activity("fish"), "fish")
        self.assertEqual(instance.field_from_activity("fish"), "fish")
        self.assertFalse(instance.deduplication_field)

        instance = fields.ActivitypubFieldMixin(
            activitypub_wrapper="endpoints", activitypub_field="outbox")
        self.assertEqual(instance.field_to_activity("fish"),
                         {"outbox": "fish"})
        self.assertEqual(instance.field_from_activity({"outbox": "fish"}),
                         "fish")
        self.assertEqual(instance.get_activitypub_field(), "endpoints")

        instance = fields.ActivitypubFieldMixin()
        instance.name = "snake_case_name"
        self.assertEqual(instance.get_activitypub_field(), "snakeCaseName")
示例#2
0
    def test_activitypub_field_mixin(self):
        ''' generic mixin with super basic to and from functionality '''
        instance = fields.ActivitypubFieldMixin()
        self.assertEqual(instance.field_to_activity('fish'), 'fish')
        self.assertEqual(instance.field_from_activity('fish'), 'fish')
        self.assertFalse(instance.deduplication_field)

        instance = fields.ActivitypubFieldMixin(
            activitypub_wrapper='endpoints', activitypub_field='outbox')
        self.assertEqual(instance.field_to_activity('fish'),
                         {'outbox': 'fish'})
        self.assertEqual(instance.field_from_activity({'outbox': 'fish'}),
                         'fish')
        self.assertEqual(instance.get_activitypub_field(), 'endpoints')

        instance = fields.ActivitypubFieldMixin()
        instance.name = 'snake_case_name'
        self.assertEqual(instance.get_activitypub_field(), 'snakeCaseName')
示例#3
0
    def test_set_activity_from_field(self):
        ''' set json field given entire model '''
        @dataclass
        class TestModel:
            ''' real simple mock '''
            field_name: str
            unrelated: str

        mock_model = TestModel(field_name='bip', unrelated='field')
        instance = fields.ActivitypubFieldMixin()
        instance.name = 'field_name'

        data = {}
        instance.set_activity_from_field(data, mock_model)
        self.assertEqual(data['fieldName'], 'bip')
示例#4
0
    def test_set_activity_from_field(self):
        """set json field given entire model"""
        @dataclass
        class TestModel:
            """real simple mock"""

            field_name: str
            unrelated: str

        mock_model = TestModel(field_name="bip", unrelated="field")
        instance = fields.ActivitypubFieldMixin()
        instance.name = "field_name"

        data = {}
        instance.set_activity_from_field(data, mock_model)
        self.assertEqual(data["fieldName"], "bip")
示例#5
0
    def test_set_field_from_activity(self):
        ''' setter from entire json blob '''
        @dataclass
        class TestModel:
            ''' real simple mock '''
            field_name: str

        mock_model = TestModel(field_name='bip')
        TestActivity = namedtuple('test', ('fieldName', 'unrelated'))
        data = TestActivity(fieldName='hi', unrelated='bfkjh')

        instance = fields.ActivitypubFieldMixin()
        instance.name = 'field_name'

        instance.set_field_from_activity(mock_model, data)
        self.assertEqual(mock_model.field_name, 'hi')
示例#6
0
    def test_set_field_from_activity(self):
        """setter from entire json blob"""
        @dataclass
        class TestModel:
            """real simple mock"""

            field_name: str

        mock_model = TestModel(field_name="bip")
        TestActivity = namedtuple("test", ("fieldName", "unrelated"))
        data = TestActivity(fieldName="hi", unrelated="bfkjh")

        instance = fields.ActivitypubFieldMixin()
        instance.name = "field_name"

        instance.set_field_from_activity(mock_model, data)
        self.assertEqual(mock_model.field_name, "hi")