mirror of
https://github.com/internetee/registry.git
synced 2025-06-06 20:55:44 +02:00
Rename util class, add first usage
This commit is contained in:
parent
45dfa57529
commit
a0d0ce3e00
5 changed files with 33 additions and 22 deletions
|
@ -1,2 +1,2 @@
|
||||||
require 'application_service'
|
require 'application_service'
|
||||||
require 'xsd/util'
|
require 'xsd/schema'
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
module Xsd
|
module Xsd
|
||||||
class Util < ApplicationService
|
class Schema < ApplicationService
|
||||||
SCHEMA_PATH = 'lib/schemas/'.freeze
|
SCHEMA_PATH = 'lib/schemas/'.freeze
|
||||||
|
BASE_URL = 'https://epp.tld.ee/schema/'.freeze
|
||||||
|
|
||||||
attr_reader :xsd_schemas, :for_prefix
|
attr_reader :xsd_schemas, :for_prefix
|
||||||
|
|
||||||
|
@ -10,8 +11,13 @@ module Xsd
|
||||||
@xsd_schemas = Dir.entries(schema_path).select { |f| File.file? File.join(schema_path, f) }
|
@xsd_schemas = Dir.entries(schema_path).select { |f| File.file? File.join(schema_path, f) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.filename(*args, &block)
|
||||||
|
new(*args, &block).call
|
||||||
|
end
|
||||||
|
|
||||||
def call
|
def call
|
||||||
latest(for_prefix)
|
filename = latest(for_prefix)
|
||||||
|
BASE_URL + filename
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
|
@ -14,10 +14,10 @@ class EppDomainCreateBaseTest < EppTestCase
|
||||||
|
|
||||||
request_xml = <<-XML
|
request_xml = <<-XML
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
<epp xmlns="#{Xsd::Schema.filename(for_prefix: 'epp-ee')}">
|
||||||
<command>
|
<command>
|
||||||
<create>
|
<create>
|
||||||
<domain:create xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd">
|
<domain:create xmlns:domain="#{Xsd::Schema.filename(for_prefix: 'domain-eis')}">
|
||||||
<domain:name>#{name}</domain:name>
|
<domain:name>#{name}</domain:name>
|
||||||
<domain:registrant>#{registrant.code}</domain:registrant>
|
<domain:registrant>#{registrant.code}</domain:registrant>
|
||||||
</domain:create>
|
</domain:create>
|
||||||
|
@ -31,7 +31,7 @@ class EppDomainCreateBaseTest < EppTestCase
|
||||||
<secDNS:pubKey>#{pub_key}</secDNS:pubKey>
|
<secDNS:pubKey>#{pub_key}</secDNS:pubKey>
|
||||||
</secDNS:keyData>
|
</secDNS:keyData>
|
||||||
</secDNS:create>
|
</secDNS:create>
|
||||||
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
|
<eis:extdata xmlns:eis="#{Xsd::Schema.filename(for_prefix: 'eis')}">
|
||||||
<eis:legalDocument type="pdf">#{'test' * 2000}</eis:legalDocument>
|
<eis:legalDocument type="pdf">#{'test' * 2000}</eis:legalDocument>
|
||||||
</eis:extdata>
|
</eis:extdata>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
21
test/lib/xsd_schema/xsd_schema_test.rb
Normal file
21
test/lib/xsd_schema/xsd_schema_test.rb
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
require 'test_helper'
|
||||||
|
require 'xsd/schema'
|
||||||
|
|
||||||
|
class XsdSchemaTest < ActiveSupport::TestCase
|
||||||
|
def setup
|
||||||
|
@schema_path = 'test/fixtures/files/schemas'
|
||||||
|
super
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_single_part_name
|
||||||
|
filename = Xsd::Schema.filename(schema_path: @schema_path, for_prefix: 'abcde')
|
||||||
|
|
||||||
|
assert_equal Xsd::Schema::BASE_URL + 'abcde-1.2.xsd', filename
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_double_part_name
|
||||||
|
filename = Xsd::Schema.filename(schema_path: @schema_path, for_prefix: 'abcde-fghij')
|
||||||
|
|
||||||
|
assert_equal Xsd::Schema::BASE_URL + 'abcde-fghij-1.3.xsd', filename
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,16 +0,0 @@
|
||||||
require 'test_helper'
|
|
||||||
require 'xsd/util'
|
|
||||||
|
|
||||||
class XsdUtilTest < ActiveSupport::TestCase
|
|
||||||
def test_single_part_name
|
|
||||||
version = Xsd::Util.call(schema_path: 'test/fixtures/files/schemas', for_prefix: 'abcde')
|
|
||||||
|
|
||||||
assert_equal 'abcde-1.2.xsd', version
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_double_part_name
|
|
||||||
version = Xsd::Util.call(schema_path: 'test/fixtures/files/schemas', for_prefix: 'abcde-fghij')
|
|
||||||
|
|
||||||
assert_equal 'abcde-fghij-1.3.xsd', version
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
Add table
Add a link
Reference in a new issue