Skip to content

Commit fc43bd6

Browse files
committed
use Semantic Versioning 2.0.0 (the v prefix is not valid)
1 parent 507b69a commit fc43bd6

5 files changed

Lines changed: 12 additions & 12 deletions

File tree

lib/entitlements/data/groups/calculated/yaml.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,12 @@ def description
3838
#
3939
# Takes no arguments.
4040
#
41-
# Returns a String with the schema version (semver), or "v1.0.0" if undefined.
41+
# Returns a String with the schema version (semver), or "1.0.0" if undefined.
4242
Contract C::None => String
4343
def schema_version
44-
version = parsed_data.fetch("schema_version", "v1.0.0")
45-
unless version.match?(/^\Av?\d+\.\d+\.\d+\z$/)
46-
raise "Invalid schema version format: #{version} - Expected format is 'MAJOR.MINOR.PATCH' - Examples: v1.2.3 or 1.2.3"
44+
version = parsed_data.fetch("schema_version", "1.0.0")
45+
unless version.match?(/\A\d+\.\d+\.\d+\z/)
46+
raise "Invalid schema version format: #{version} - Expected format is 'MAJOR.MINOR.PATCH' - Examples: 1.2.3 or 10.0.0"
4747
end
4848
version
4949
end

spec/unit/entitlements/data/groups/calculated/yaml_spec.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,19 @@
3939
it "returns the version string when one is set" do
4040
filename = fixture("ldap-config/filters/no-filters-with-schema-version.yaml")
4141
subject = described_class.new(filename: filename)
42-
expect(subject.schema_version).to eq("v1.2.3")
42+
expect(subject.schema_version).to eq("1.2.3")
4343
end
4444

45-
it "returns the version string when one is set (no v prefix)" do
46-
filename = fixture("ldap-config/filters/no-filters-with-schema-version-no-v.yaml")
45+
it "returns the version string when one is set (with v prefix - not valid semver 2)" do
46+
filename = fixture("ldap-config/filters/no-filters-with-schema-version-with-v.yaml")
4747
subject = described_class.new(filename: filename)
48-
expect(subject.schema_version).to eq("1.2.3")
48+
expect { subject.schema_version }.to raise_error(RuntimeError, /Invalid schema version format/)
4949
end
5050

5151
it "returns the default version when schema_version is undefined" do
5252
filename = fixture("ldap-config/filters/no-filters-description.yaml")
5353
subject = described_class.new(filename: filename)
54-
expect(subject.schema_version).to eq("v1.0.0")
54+
expect(subject.schema_version).to eq("1.0.0")
5555
end
5656

5757
it "throws an error when an invalid semver string is provided" do

spec/unit/fixtures/ldap-config/filters/no-filters-with-bad-schema-version.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
description: Yo kittens
2-
schema_version: v1.abc2.3
2+
schema_version: 1.abc2.3
33
rules:
44
or:
55
- username: russianblue

spec/unit/fixtures/ldap-config/filters/no-filters-with-schema-version-no-v.yaml renamed to spec/unit/fixtures/ldap-config/filters/no-filters-with-schema-version-with-v.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
description: Yo kittens
2-
schema_version: 1.2.3
2+
schema_version: v1.2.3
33
rules:
44
or:
55
- username: russianblue

spec/unit/fixtures/ldap-config/filters/no-filters-with-schema-version.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
description: Yo kittens
2-
schema_version: v1.2.3
2+
schema_version: 1.2.3
33
rules:
44
or:
55
- username: russianblue

0 commit comments

Comments
 (0)