コード例 #1
0
ファイル: views.py プロジェクト: anthonyoteri/track-server
    def post(self, request: Request) -> Response:
        active = get_active_record()
        if active is None:
            return Response(status=status.HTTP_403_FORBIDDEN)

        serializer = self.InputSerializer(data=request.data)
        serializer.is_valid(raise_exception=True)

        if active.project != serializer.validated_data["project"]:
            log.warning(
                "project from request %s does not match active project %s",
                serializer.validated_data["project"],
                active.project,
            )
            return Response(status=status.HTTP_403_FORBIDDEN)

        record = update_record(
            record=active,
            project=active.project,
            start_time=active.start_time,
            stop_time=serializer.validated_data["stop_time"],
        )

        return Response(self.OutputSerializer(record).data,
                        status=status.HTTP_200_OK)
コード例 #2
0
ファイル: views.py プロジェクト: anthonyoteri/track-server
        def update(self, instance, validated_data):

            record = update_record(
                record=instance,
                project=validated_data["project"],
                start_time=validated_data["start_time"],
                stop_time=validated_data.get("stop_time"),
            )
            return record
コード例 #3
0
def test_update_record_remove_stop_time():

    record = factories.RecordFactory()
    result = update_record(
        record=record,
        project=record.project,
        start_time=record.start_time,
        stop_time=None,
    )

    assert result.stop_time_epoch is None
コード例 #4
0
def test_update_record_stop_time():

    record = factories.RecordFactory()
    new_stop_time = record.stop_time + timedelta(hours=1)

    result = update_record(
        record=record,
        project=record.project,
        start_time=record.start_time,
        stop_time=new_stop_time,
    )

    assert result.stop_time_epoch == datetime.timestamp(new_stop_time)
コード例 #5
0
def test_update_record_project():

    project = factories.ProjectFactory()
    record = factories.RecordFactory(project=project)

    new_project = factories.ProjectFactory()

    result = update_record(
        record=record,
        project=new_project,
        start_time=record.start_time,
        stop_time=record.stop_time,
    )

    assert result.project == new_project