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()
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()
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()
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()
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") ] }
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()
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
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()
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()
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()
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()
def test_version_does_not_allow_whitespace(self): for char in BAD_RELEASE_CHARS: serializer = ReleaseWithVersionSerializer(data={ 'version': char, }) assert not serializer.is_valid()
def test_do_not_allow_null_commits(self): serializer = ReleaseWithVersionSerializer(data={ 'version': self.version, 'commits': None, }) assert not serializer.is_valid()
def test_fields_not_required(self): serializer = ReleaseWithVersionSerializer( data={'version': self.version}) assert serializer.is_valid()
def test_version_cannot_be_latest(self): serializer = ReleaseWithVersionSerializer(data={"version": "Latest"}) assert not serializer.is_valid()
def test_version_cannot_be_latest(self): serializer = ReleaseWithVersionSerializer( data={"version": "Latest"}, context={"organization": self.organization}, ) assert not serializer.is_valid()
def test_version_cannot_be_latest(self): serializer = ReleaseWithVersionSerializer(data={ 'version': 'Latest', }) assert not serializer.is_valid()
def test_fields_not_required(self): serializer = ReleaseWithVersionSerializer(data={'version': self.version}) assert serializer.is_valid()
def test_fields_not_required(self): serializer = ReleaseWithVersionSerializer( data={"version": self.version}, context={"organization": self.organization}, ) assert serializer.is_valid()