summaryrefslogtreecommitdiff
path: root/spec/factories/go_module_versions.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/factories/go_module_versions.rb')
-rw-r--r--spec/factories/go_module_versions.rb40
1 files changed, 3 insertions, 37 deletions
diff --git a/spec/factories/go_module_versions.rb b/spec/factories/go_module_versions.rb
index b0a96197350..145e6c95921 100644
--- a/spec/factories/go_module_versions.rb
+++ b/spec/factories/go_module_versions.rb
@@ -8,12 +8,12 @@ FactoryBot.define do
p = attributes[:params]
s = Packages::SemVer.parse(p.semver, prefixed: true)
- raise ArgumentError.new("invalid sematic version: '#{p.semver}''") if !s && p.semver
+ raise ArgumentError, "invalid sematic version: '#{p.semver}'" if !s && p.semver
new(p.mod, p.type, p.commit, name: p.name, semver: s, ref: p.ref)
end
- mod { create :go_module }
+ mod { association(:go_module) }
type { :commit }
commit { mod.project.repository.head_commit }
name { nil }
@@ -33,45 +33,11 @@ FactoryBot.define do
mod.project.repository.tags
.filter { |t| Packages::SemVer.match?(t.name, prefixed: true) }
.map { |t| Packages::SemVer.parse(t.name, prefixed: true) }
- .max { |a, b| "#{a}" <=> "#{b}" }
+ .max_by(&:to_s)
.to_s
end
params { OpenStruct.new(mod: mod, type: :ref, commit: commit, semver: name, ref: ref) }
end
-
- trait :pseudo do
- transient do
- prefix do
- # This provides a sane default value, but in reality the caller should
- # specify `prefix:`
-
- # This does not take into account that `commit` may be before the
- # latest tag.
-
- # Find 'latest' semver tag (does not actually use semver precedence rules)
- v = mod.project.repository.tags
- .filter { |t| Packages::SemVer.match?(t.name, prefixed: true) }
- .map { |t| Packages::SemVer.parse(t.name, prefixed: true) }
- .max { |a, b| "#{a}" <=> "#{b}" }
-
- # Default if no semver tags exist
- next 'v0.0.0' unless v
-
- # Valid pseudo-versions are:
- # vX.0.0-yyyymmddhhmmss-sha1337beef0, when no earlier tagged commit exists for X
- # vX.Y.Z-pre.0.yyyymmddhhmmss-sha1337beef0, when most recent prior tag is vX.Y.Z-pre
- # vX.Y.(Z+1)-0.yyyymmddhhmmss-sha1337beef0, when most recent prior tag is vX.Y.Z
-
- v = v.with(patch: v.patch + 1) unless v.prerelease
- "#{v}.0"
- end
- end
-
- type { :pseudo }
- name { "#{prefix}#{commit.committed_date.strftime('%Y%m%d%H%M%S')}-#{commit.sha[0..11]}" }
-
- params { OpenStruct.new(mod: mod, type: :pseudo, commit: commit, name: name, semver: name) }
- end
end
end