예제 #1
0
    def test_simple(self):
        serializer = ReleaseWithVersionSerializer(
            data={
                "version": self.version,
                "owner": self.user.username,
                "ref": self.ref,
                "url": self.url,
                "dateReleased": self.dateReleased,
                "commits": self.commits,
            })

        assert serializer.is_valid()
        assert sorted(serializer.fields.keys()) == sorted([
            "version", "owner", "ref", "url", "dateReleased", "commits",
            "status"
        ])

        result = serializer.validated_data
        assert result["version"] == self.version
        assert result["owner"] == self.user
        assert result["ref"] == self.ref
        assert result["url"] == self.url
        assert result["dateReleased"] == datetime(1000,
                                                  10,
                                                  10,
                                                  6,
                                                  6,
                                                  tzinfo=pytz.UTC)
        assert result["commits"] == self.commits
 def test_version_does_not_allow_whitespace(self):
     for char in BAD_RELEASE_CHARS:
         serializer = ReleaseWithVersionSerializer(
             data={"version": char},
             context={"organization": self.organization},
         )
         assert not serializer.is_valid()
예제 #3
0
    def test_simple(self):
        serializer = ReleaseWithVersionSerializer(
            data={
                'version': self.version,
                'owner': self.user.username,
                'ref': self.ref,
                'url': self.url,
                'dateReleased': self.dateReleased,
                'commits': self.commits,
            })

        assert serializer.is_valid()
        assert sorted(serializer.fields.keys()) == sorted(
            ['version', 'owner', 'ref', 'url', 'dateReleased', 'commits'])

        result = serializer.validated_data
        assert result['version'] == self.version
        assert result['owner'] == self.user
        assert result['ref'] == self.ref
        assert result['url'] == self.url
        assert result['dateReleased'] == datetime(1000,
                                                  10,
                                                  10,
                                                  6,
                                                  6,
                                                  tzinfo=pytz.UTC)
        assert result['commits'] == self.commits
 def test_do_not_allow_null_commits(self):
     serializer = ReleaseWithVersionSerializer(
         data={
             "version": self.version,
             "commits": None
         },
         context={"organization": self.organization},
     )
     assert not serializer.is_valid()
예제 #5
0
 def test_version_limited_by_max_version_length(self):
     serializer = ReleaseWithVersionSerializer(data={
         'version': 'a' * VERSION_LENGTH,
     })
     assert serializer.is_valid()
     serializer = ReleaseWithVersionSerializer(data={
         'version': 'a' * (VERSION_LENGTH + 1),
     })
     assert not serializer.is_valid()
예제 #6
0
 def test_version_does_not_allow_current_dir_path(self):
     serializer = ReleaseWithVersionSerializer(data={
         'version': '.',
     })
     assert not serializer.is_valid()
     serializer = ReleaseWithVersionSerializer(data={
         'version': '..',
     })
     assert not serializer.is_valid()
예제 #7
0
 def test_version_does_not_allow_null_or_empty_value(self):
     serializer = ReleaseWithVersionSerializer(data={
         'version': None,
     })
     assert not serializer.is_valid()
     serializer = ReleaseWithVersionSerializer(data={
         'version': '',
     })
     assert not serializer.is_valid()
 def test_owner_must_have_org_access(self):
     serializer = ReleaseWithVersionSerializer(
         data={
             "version": self.version,
             "owner": self.create_user().username,
             "ref": self.ref,
             "url": self.url,
             "dateReleased": self.dateReleased,
             "commits": self.commits,
         },
         context={"organization": self.organization},
     )
     assert not serializer.is_valid()
     assert serializer.errors == {
         "owner": [
             ErrorDetail("User does not have access to this organization",
                         "invalid")
         ]
     }
예제 #9
0
 def test_version_limited_by_max_version_length(self):
     serializer = ReleaseWithVersionSerializer(
         data={"version": "a" * MAX_VERSION_LENGTH})
     assert serializer.is_valid()
     serializer = ReleaseWithVersionSerializer(
         data={"version": "a" * (MAX_VERSION_LENGTH + 1)})
     assert not serializer.is_valid()
예제 #10
0
    def test_simple(self):
        serializer = ReleaseWithVersionSerializer(data={
            'version': self.version,
            'owner': self.user.username,
            'ref': self.ref,
            'url': self.url,
            'dateReleased': self.dateReleased,
            'commits': self.commits,

        })

        assert serializer.is_valid()
        assert sorted(serializer.fields.keys()) == sorted(
            ['version', 'owner', 'ref', 'url', 'dateReleased', 'commits'])

        result = serializer.object
        assert result['version'] == self.version
        assert result['owner'] == self.user
        assert result['ref'] == self.ref
        assert result['url'] == self.url
        assert result['dateReleased'] == datetime(1000, 10, 10, 6, 6)
        assert result['commits'] == self.commits
예제 #11
0
 def test_version_does_not_allow_current_dir_path(self):
     serializer = ReleaseWithVersionSerializer(data={
         'version': '.',
     })
     assert not serializer.is_valid()
     serializer = ReleaseWithVersionSerializer(data={
         'version': '..',
     })
     assert not serializer.is_valid()
예제 #12
0
 def test_version_does_not_allow_null_or_empty_value(self):
     serializer = ReleaseWithVersionSerializer(data={
         'version': None,
     })
     assert not serializer.is_valid()
     serializer = ReleaseWithVersionSerializer(data={
         'version': '',
     })
     assert not serializer.is_valid()
예제 #13
0
 def test_version_does_not_allow_current_dir_path(self):
     serializer = ReleaseWithVersionSerializer(
         data={"version": "."},
         context={"organization": self.organization},
     )
     assert not serializer.is_valid()
     serializer = ReleaseWithVersionSerializer(
         data={"version": ".."},
         context={"organization": self.organization},
     )
     assert not serializer.is_valid()
예제 #14
0
 def test_version_limited_by_max_version_length(self):
     serializer = ReleaseWithVersionSerializer(
         data={
             'version': 'a' * MAX_VERSION_LENGTH,
         })
     assert serializer.is_valid()
     serializer = ReleaseWithVersionSerializer(
         data={
             'version': 'a' * (MAX_VERSION_LENGTH + 1),
         })
     assert not serializer.is_valid()
예제 #15
0
 def test_version_does_not_allow_null_or_empty_value(self):
     serializer = ReleaseWithVersionSerializer(
         data={"version": None},
         context={"organization": self.organization},
     )
     assert not serializer.is_valid()
     serializer = ReleaseWithVersionSerializer(
         data={"version": ""},
         context={"organization": self.organization},
     )
     assert not serializer.is_valid()
예제 #16
0
 def test_ref_limited_by_max_version_length(self):
     serializer = ReleaseWithVersionSerializer(
         data={
             "version": self.version,
             "ref": "a" * MAX_VERSION_LENGTH
         },
         context={"organization": self.organization},
     )
     assert serializer.is_valid()
     serializer = ReleaseWithVersionSerializer(
         data={
             "version": self.version,
             "ref": "a" * (MAX_VERSION_LENGTH + 1)
         },
         context={"organization": self.organization},
     )
     assert not serializer.is_valid()
예제 #17
0
 def test_version_does_not_allow_whitespace(self):
     for char in BAD_RELEASE_CHARS:
         serializer = ReleaseWithVersionSerializer(data={
             'version': char,
         })
         assert not serializer.is_valid()
예제 #18
0
 def test_do_not_allow_null_commits(self):
     serializer = ReleaseWithVersionSerializer(data={
         'version': self.version,
         'commits': None,
     })
     assert not serializer.is_valid()
예제 #19
0
 def test_fields_not_required(self):
     serializer = ReleaseWithVersionSerializer(
         data={'version': self.version})
     assert serializer.is_valid()
예제 #20
0
 def test_version_cannot_be_latest(self):
     serializer = ReleaseWithVersionSerializer(data={"version": "Latest"})
     assert not serializer.is_valid()
예제 #21
0
 def test_version_cannot_be_latest(self):
     serializer = ReleaseWithVersionSerializer(
         data={"version": "Latest"},
         context={"organization": self.organization},
     )
     assert not serializer.is_valid()
예제 #22
0
 def test_version_cannot_be_latest(self):
     serializer = ReleaseWithVersionSerializer(data={
         'version': 'Latest',
     })
     assert not serializer.is_valid()
예제 #23
0
 def test_fields_not_required(self):
     serializer = ReleaseWithVersionSerializer(data={'version': self.version})
     assert serializer.is_valid()
예제 #24
0
 def test_fields_not_required(self):
     serializer = ReleaseWithVersionSerializer(
         data={"version": self.version},
         context={"organization": self.organization},
     )
     assert serializer.is_valid()
예제 #25
0
 def test_do_not_allow_null_commits(self):
     serializer = ReleaseWithVersionSerializer(data={
         'version': self.version,
         'commits': None,
     })
     assert not serializer.is_valid()
예제 #26
0
 def test_version_cannot_be_latest(self):
     serializer = ReleaseWithVersionSerializer(data={
         'version': 'Latest',
     })
     assert not serializer.is_valid()
예제 #27
0
 def test_version_does_not_allow_whitespace(self):
     for char in BAD_RELEASE_CHARS:
         serializer = ReleaseWithVersionSerializer(data={
             'version': char,
         })
         assert not serializer.is_valid()