def test_get_serializer_class_from_map(serializer_class_map, action, stage,
                                       default, expected):
    serializer_class = get_serializer_class_from_map(action, stage,
                                                     serializer_class_map,
                                                     default)

    assert serializer_class == expected
Beispiel #2
0
def test_get_serializer_class_from_map_with_format(
    serializer_class_map, action, stage, api_format, default, expected, settings
):
    settings.API_DEFAULT_FORMAT = 'compact'
    settings.API_FORMATS = ('full', 'compact', 'version:{2,12,33,15}', 'test:name')

    serializer_class = get_serializer_class_from_map(
        action, stage, serializer_class_map, default, api_format=api_format
    )

    assert serializer_class == expected
Beispiel #3
0
    def get_serializer_class(
        self,
        stage: str = 'response',
        action: str = None,
        api_format: str = None,
    ) -> SerializerType:
        action = action or self.get_action()
        serializer_class_map = getattr(self, 'serializer_class_map', {})

        if api_format is None:
            api_format = settings.API_DEFAULT_FORMAT
            if self.request and self.request.api_params:
                api_format = self.request.api_params.format or api_format
        return get_serializer_class_from_map(action,
                                             stage,
                                             serializer_class_map,
                                             self.serializer_class,
                                             api_format=api_format)
def test_get_serializer_class_from_map_with_format(
    serializer_class_map,
    action,
    stage,
    api_format,
    default,
    expected,
    settings,
):
    settings.API_DEFAULT_FORMAT = 'compact'

    serializer_class = get_serializer_class_from_map(action,
                                                     stage,
                                                     serializer_class_map,
                                                     default,
                                                     api_format=api_format)

    assert serializer_class == expected
Beispiel #5
0
    def get_serializer_class(
        self,
        stage: str = 'response',
        action: str = None,
        api_format: str = None,
        use_default: bool = True,
    ) -> SerializerType:
        action = action or self.get_action()
        serializer_class_map = getattr(self, 'serializer_class_map', {})

        if api_format is None:
            api_format = settings.API_DEFAULT_FORMAT
            with contextlib.suppress(AttributeError):
                api_format = self.request.api_params.format or api_format

        return get_serializer_class_from_map(
            action,
            stage,
            serializer_class_map,
            self.serializer_class,
            use_default=use_default,
            api_format=api_format,
        )
Beispiel #6
0
 def get_response_serializer_class(self) -> SerializerType:
     return get_serializer_class_from_map('pagination', 'response', self.serializer_class_map)