Page Menu
Home
GRNET
Search
Configure Global Search
Log In
Files
F460987
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sat, May 17, 9:52 PM
Size
1 KB
Mime Type
text/x-diff
Expires
Mon, May 19, 9:52 PM (5 h, 8 m)
Engine
blob
Format
Raw Data
Handle
220030
Attached To
rWEBDNS WebDNS (edet4)
View Options
diff --git a/app/models/txt.rb b/app/models/txt.rb
new file mode 100644
index 0000000..cd8c6e7
--- /dev/null
+++ b/app/models/txt.rb
@@ -0,0 +1,8 @@
+class TXT < Record
+ validates :content,
+ format: {
+ with: /\A".*"\Z/,
+ message: 'TXT records should be enclosed in quotes'
+ }
+
+end
diff --git a/test/factories/txt.rb b/test/factories/txt.rb
new file mode 100644
index 0000000..9490d26
--- /dev/null
+++ b/test/factories/txt.rb
@@ -0,0 +1,7 @@
+FactoryGirl.define do
+ factory :txt, class: 'TXT' do
+ domain
+ name ''
+ content '"v=spf1 a:mail.example.com -all"'
+ end
+end
diff --git a/test/models/txt_test.rb b/test/models/txt_test.rb
new file mode 100644
index 0000000..9203c12
--- /dev/null
+++ b/test/models/txt_test.rb
@@ -0,0 +1,36 @@
+require 'test_helper'
+
+class TXTTest < ActiveSupport::TestCase
+
+ test 'saves' do
+ rec = build(:txt)
+ rec.valid?
+
+ assert_empty rec.errors
+ assert rec.save
+ end
+
+ [
+ '""',
+ '"The quick brown fox"'
+ ].each { |txt|
+ test "valid content #{txt}" do
+ rec = build(:txt, content: txt)
+ rec.valid?
+ assert_empty rec.errors[:content], "#{txt.inspect} should be valid!"
+ end
+ }
+
+ [
+ '',
+ '"',
+ 'no quotes',
+ ].each { |txt|
+ test "invalid content #{txt}" do
+ rec = build(:txt, content: txt)
+ rec.valid?
+ assert_not_empty rec.errors[:content], "#{txt.inspect} should be invalid!"
+ end
+ }
+
+end
Event Timeline
Log In to Comment