esendex 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/esendex/application_controller.rb +4 -4
- data/app/controllers/esendex/inbound_messages_controller.rb +11 -11
- data/app/controllers/esendex/message_delivered_events_controller.rb +11 -11
- data/app/controllers/esendex/message_failed_events_controller.rb +11 -11
- data/app/controllers/esendex/push_notification_handler.rb +41 -41
- data/config/routes.rb +5 -5
- data/lib/esendex.rb +63 -62
- data/lib/esendex/account.rb +44 -44
- data/lib/esendex/api_connection.rb +29 -29
- data/lib/esendex/dispatcher_result.rb +25 -25
- data/lib/esendex/engine.rb +4 -4
- data/lib/esendex/exceptions.rb +25 -25
- data/lib/esendex/hash_serialisation.rb +23 -23
- data/lib/esendex/inbound_message.rb +30 -30
- data/lib/esendex/message.rb +38 -38
- data/lib/esendex/message_batch_submission.rb +50 -50
- data/lib/esendex/message_delivered_event.rb +29 -29
- data/lib/esendex/message_failed_event.rb +29 -29
- data/lib/esendex/railtie.rb +11 -11
- data/lib/esendex/version.rb +3 -3
- data/lib/esendex/voice_message.rb +25 -0
- data/lib/tasks/esendex.rake +29 -29
- data/licence.txt +23 -23
- data/readme.md +186 -186
- data/spec/account_spec.rb +211 -211
- data/spec/api_connection_spec.rb +78 -78
- data/spec/controllers/message_delivered_events_controller_spec.rb +29 -29
- data/spec/controllers/push_notification_handler_spec.rb +96 -96
- data/spec/dummy/README.rdoc +261 -261
- data/spec/dummy/Rakefile +7 -7
- data/spec/dummy/app/assets/javascripts/application.js +15 -15
- data/spec/dummy/app/assets/stylesheets/application.css +13 -13
- data/spec/dummy/app/controllers/application_controller.rb +3 -3
- data/spec/dummy/app/helpers/application_helper.rb +2 -2
- data/spec/dummy/app/views/layouts/application.html.erb +14 -14
- data/spec/dummy/config.ru +4 -4
- data/spec/dummy/config/application.rb +66 -66
- data/spec/dummy/config/boot.rb +9 -9
- data/spec/dummy/config/environment.rb +5 -5
- data/spec/dummy/config/environments/development.rb +37 -37
- data/spec/dummy/config/environments/production.rb +67 -67
- data/spec/dummy/config/environments/test.rb +39 -39
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -7
- data/spec/dummy/config/initializers/inflections.rb +15 -15
- data/spec/dummy/config/initializers/mime_types.rb +5 -5
- data/spec/dummy/config/initializers/secret_token.rb +7 -7
- data/spec/dummy/config/initializers/session_store.rb +8 -8
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -14
- data/spec/dummy/config/locales/en.yml +5 -5
- data/spec/dummy/config/routes.rb +4 -4
- data/spec/dummy/public/404.html +26 -26
- data/spec/dummy/public/422.html +26 -26
- data/spec/dummy/public/500.html +25 -25
- data/spec/dummy/script/rails +6 -6
- data/spec/hash_serialisation_spec.rb +52 -52
- data/spec/inbound_message_spec.rb +42 -42
- data/spec/message_batch_submission_spec.rb +54 -54
- data/spec/message_delivered_event_spec.rb +32 -32
- data/spec/message_failed_event_spec.rb +32 -32
- data/spec/message_spec.rb +49 -49
- data/spec/spec_helper.rb +41 -41
- data/spec/voice_message_spec.rb +29 -0
- metadata +12 -9
@@ -1,43 +1,43 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe InboundMessage do
|
4
|
-
describe ".from_xml" do
|
5
|
-
let(:id) { random_string }
|
6
|
-
let(:message_id) { random_string }
|
7
|
-
let(:account_id) { random_string }
|
8
|
-
let(:message_text) { random_string }
|
9
|
-
let(:from) { random_mobile }
|
10
|
-
let(:to) { random_mobile }
|
11
|
-
let(:source) {
|
12
|
-
"<InboundMessage>
|
13
|
-
<Id>#{id}</Id>
|
14
|
-
<MessageId>#{message_id}</MessageId>
|
15
|
-
<AccountId>#{account_id}</AccountId>
|
16
|
-
<MessageText>#{message_text}</MessageText>
|
17
|
-
<From>#{from}</From>
|
18
|
-
<To>#{to}</To>
|
19
|
-
</InboundMessage>"
|
20
|
-
}
|
21
|
-
|
22
|
-
subject { InboundMessage.from_xml source }
|
23
|
-
|
24
|
-
it "should set the id" do
|
25
|
-
subject.id.should eq(id)
|
26
|
-
end
|
27
|
-
it "should set the message_id" do
|
28
|
-
subject.message_id.should eq(message_id)
|
29
|
-
end
|
30
|
-
it "should set the account_id" do
|
31
|
-
subject.account_id.should eq(account_id)
|
32
|
-
end
|
33
|
-
it "should set the message_text" do
|
34
|
-
subject.message_text.should eq(message_text)
|
35
|
-
end
|
36
|
-
it "should set the from" do
|
37
|
-
subject.from.should eq(from)
|
38
|
-
end
|
39
|
-
it "should set the to" do
|
40
|
-
subject.to.should eq(to)
|
41
|
-
end
|
42
|
-
end
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe InboundMessage do
|
4
|
+
describe ".from_xml" do
|
5
|
+
let(:id) { random_string }
|
6
|
+
let(:message_id) { random_string }
|
7
|
+
let(:account_id) { random_string }
|
8
|
+
let(:message_text) { random_string }
|
9
|
+
let(:from) { random_mobile }
|
10
|
+
let(:to) { random_mobile }
|
11
|
+
let(:source) {
|
12
|
+
"<InboundMessage>
|
13
|
+
<Id>#{id}</Id>
|
14
|
+
<MessageId>#{message_id}</MessageId>
|
15
|
+
<AccountId>#{account_id}</AccountId>
|
16
|
+
<MessageText>#{message_text}</MessageText>
|
17
|
+
<From>#{from}</From>
|
18
|
+
<To>#{to}</To>
|
19
|
+
</InboundMessage>"
|
20
|
+
}
|
21
|
+
|
22
|
+
subject { InboundMessage.from_xml source }
|
23
|
+
|
24
|
+
it "should set the id" do
|
25
|
+
subject.id.should eq(id)
|
26
|
+
end
|
27
|
+
it "should set the message_id" do
|
28
|
+
subject.message_id.should eq(message_id)
|
29
|
+
end
|
30
|
+
it "should set the account_id" do
|
31
|
+
subject.account_id.should eq(account_id)
|
32
|
+
end
|
33
|
+
it "should set the message_text" do
|
34
|
+
subject.message_text.should eq(message_text)
|
35
|
+
end
|
36
|
+
it "should set the from" do
|
37
|
+
subject.from.should eq(from)
|
38
|
+
end
|
39
|
+
it "should set the to" do
|
40
|
+
subject.to.should eq(to)
|
41
|
+
end
|
42
|
+
end
|
43
43
|
end
|
@@ -1,55 +1,55 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe MessageBatchSubmission do
|
4
|
-
let(:account) { "EX1234556" }
|
5
|
-
|
6
|
-
describe "#xml_node" do
|
7
|
-
let(:messages) { [ Message.new(random_mobile, random_string), Message.new(random_mobile, random_string)] }
|
8
|
-
let(:message_batch) { MessageBatchSubmission.new(account, messages) }
|
9
|
-
|
10
|
-
subject { message_batch.xml_node }
|
11
|
-
|
12
|
-
it "creates message nodes" do
|
13
|
-
subject.xpath('//messages/message').count.should eq(messages.count)
|
14
|
-
end
|
15
|
-
|
16
|
-
it "sets the message to" do
|
17
|
-
(0..1).each do |i|
|
18
|
-
subject.xpath('//messages/message/to')[i].content.should eq(messages[i].to)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
it "sets the message body" do
|
23
|
-
(0..1).each do |i|
|
24
|
-
subject.xpath('//messages/message/body')[i].content.should eq(messages[i].body)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
context "when #send_at set" do
|
29
|
-
let(:target_time) { Time.local(2011, 4, 7, 15, 0, 0) }
|
30
|
-
|
31
|
-
before(:each) do
|
32
|
-
message_batch.send_at = target_time
|
33
|
-
end
|
34
|
-
|
35
|
-
it "creates a properly formatted sendat node" do
|
36
|
-
subject.at_xpath('//messages/sendat').content.should eq("2011-04-07T15:00:00")
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
describe "#initialize" do
|
42
|
-
context "with nil account reference" do
|
43
|
-
it "raises AccountReferenceError" do
|
44
|
-
messages = [Message.new(random_mobile, random_string)]
|
45
|
-
expect { MessageBatchSubmission.new nil, messages }.to raise_error(AccountReferenceError)
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
context "with empty message array" do
|
50
|
-
it "raises expected error" do
|
51
|
-
expect { MessageBatchSubmission.new account, [] }.to raise_error("Need at least one message")
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MessageBatchSubmission do
|
4
|
+
let(:account) { "EX1234556" }
|
5
|
+
|
6
|
+
describe "#xml_node" do
|
7
|
+
let(:messages) { [ Message.new(random_mobile, random_string), Message.new(random_mobile, random_string)] }
|
8
|
+
let(:message_batch) { MessageBatchSubmission.new(account, messages) }
|
9
|
+
|
10
|
+
subject { message_batch.xml_node }
|
11
|
+
|
12
|
+
it "creates message nodes" do
|
13
|
+
subject.xpath('//messages/message').count.should eq(messages.count)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "sets the message to" do
|
17
|
+
(0..1).each do |i|
|
18
|
+
subject.xpath('//messages/message/to')[i].content.should eq(messages[i].to)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
it "sets the message body" do
|
23
|
+
(0..1).each do |i|
|
24
|
+
subject.xpath('//messages/message/body')[i].content.should eq(messages[i].body)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
context "when #send_at set" do
|
29
|
+
let(:target_time) { Time.local(2011, 4, 7, 15, 0, 0) }
|
30
|
+
|
31
|
+
before(:each) do
|
32
|
+
message_batch.send_at = target_time
|
33
|
+
end
|
34
|
+
|
35
|
+
it "creates a properly formatted sendat node" do
|
36
|
+
subject.at_xpath('//messages/sendat').content.should eq("2011-04-07T15:00:00")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe "#initialize" do
|
42
|
+
context "with nil account reference" do
|
43
|
+
it "raises AccountReferenceError" do
|
44
|
+
messages = [Message.new(random_mobile, random_string)]
|
45
|
+
expect { MessageBatchSubmission.new nil, messages }.to raise_error(AccountReferenceError)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
context "with empty message array" do
|
50
|
+
it "raises expected error" do
|
51
|
+
expect { MessageBatchSubmission.new account, [] }.to raise_error("Need at least one message")
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
55
|
end
|
@@ -1,33 +1,33 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe MessageDeliveredEvent do
|
4
|
-
describe ".from_xml" do
|
5
|
-
let(:id) { random_string }
|
6
|
-
let(:message_id) { random_string }
|
7
|
-
let(:account_id) { random_string }
|
8
|
-
let(:occurred_at) { random_time.utc }
|
9
|
-
let(:source) {
|
10
|
-
"<MessageDelivered>
|
11
|
-
<Id>#{id}</Id>
|
12
|
-
<MessageId>#{message_id}</MessageId>
|
13
|
-
<AccountId>#{account_id}</AccountId>
|
14
|
-
<OccurredAt>#{occurred_at.strftime("%Y-%m-%dT%H:%M:%S")}</OccurredAt>
|
15
|
-
</MessageDelivered>"
|
16
|
-
}
|
17
|
-
|
18
|
-
subject { MessageDeliveredEvent.from_xml source }
|
19
|
-
|
20
|
-
it "should set the id" do
|
21
|
-
subject.id.should eq(id)
|
22
|
-
end
|
23
|
-
it "should set the message_id" do
|
24
|
-
subject.message_id.should eq(message_id)
|
25
|
-
end
|
26
|
-
it "should set the account_id" do
|
27
|
-
subject.account_id.should eq(account_id)
|
28
|
-
end
|
29
|
-
it "should set the occurred_at" do
|
30
|
-
subject.occurred_at.to_i.should eq(occurred_at.to_i)
|
31
|
-
end
|
32
|
-
end
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MessageDeliveredEvent do
|
4
|
+
describe ".from_xml" do
|
5
|
+
let(:id) { random_string }
|
6
|
+
let(:message_id) { random_string }
|
7
|
+
let(:account_id) { random_string }
|
8
|
+
let(:occurred_at) { random_time.utc }
|
9
|
+
let(:source) {
|
10
|
+
"<MessageDelivered>
|
11
|
+
<Id>#{id}</Id>
|
12
|
+
<MessageId>#{message_id}</MessageId>
|
13
|
+
<AccountId>#{account_id}</AccountId>
|
14
|
+
<OccurredAt>#{occurred_at.strftime("%Y-%m-%dT%H:%M:%S")}</OccurredAt>
|
15
|
+
</MessageDelivered>"
|
16
|
+
}
|
17
|
+
|
18
|
+
subject { MessageDeliveredEvent.from_xml source }
|
19
|
+
|
20
|
+
it "should set the id" do
|
21
|
+
subject.id.should eq(id)
|
22
|
+
end
|
23
|
+
it "should set the message_id" do
|
24
|
+
subject.message_id.should eq(message_id)
|
25
|
+
end
|
26
|
+
it "should set the account_id" do
|
27
|
+
subject.account_id.should eq(account_id)
|
28
|
+
end
|
29
|
+
it "should set the occurred_at" do
|
30
|
+
subject.occurred_at.to_i.should eq(occurred_at.to_i)
|
31
|
+
end
|
32
|
+
end
|
33
33
|
end
|
@@ -1,33 +1,33 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe MessageFailedEvent do
|
4
|
-
describe ".from_xml" do
|
5
|
-
let(:id) { random_string }
|
6
|
-
let(:message_id) { random_string }
|
7
|
-
let(:account_id) { random_string }
|
8
|
-
let(:occurred_at) { random_time.utc }
|
9
|
-
let(:source) {
|
10
|
-
"<MessageFailed>
|
11
|
-
<Id>#{id}</Id>
|
12
|
-
<MessageId>#{message_id}</MessageId>
|
13
|
-
<AccountId>#{account_id}</AccountId>
|
14
|
-
<OccurredAt>#{occurred_at.strftime("%Y-%m-%dT%H:%M:%S")}</OccurredAt>
|
15
|
-
</MessageFailed>"
|
16
|
-
}
|
17
|
-
|
18
|
-
subject { MessageFailedEvent.from_xml source }
|
19
|
-
|
20
|
-
it "should set the id" do
|
21
|
-
subject.id.should eq(id)
|
22
|
-
end
|
23
|
-
it "should set the message_id" do
|
24
|
-
subject.message_id.should eq(message_id)
|
25
|
-
end
|
26
|
-
it "should set the account_id" do
|
27
|
-
subject.account_id.should eq(account_id)
|
28
|
-
end
|
29
|
-
it "should set the occurred_at" do
|
30
|
-
subject.occurred_at.to_i.should eq(occurred_at.to_i)
|
31
|
-
end
|
32
|
-
end
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MessageFailedEvent do
|
4
|
+
describe ".from_xml" do
|
5
|
+
let(:id) { random_string }
|
6
|
+
let(:message_id) { random_string }
|
7
|
+
let(:account_id) { random_string }
|
8
|
+
let(:occurred_at) { random_time.utc }
|
9
|
+
let(:source) {
|
10
|
+
"<MessageFailed>
|
11
|
+
<Id>#{id}</Id>
|
12
|
+
<MessageId>#{message_id}</MessageId>
|
13
|
+
<AccountId>#{account_id}</AccountId>
|
14
|
+
<OccurredAt>#{occurred_at.strftime("%Y-%m-%dT%H:%M:%S")}</OccurredAt>
|
15
|
+
</MessageFailed>"
|
16
|
+
}
|
17
|
+
|
18
|
+
subject { MessageFailedEvent.from_xml source }
|
19
|
+
|
20
|
+
it "should set the id" do
|
21
|
+
subject.id.should eq(id)
|
22
|
+
end
|
23
|
+
it "should set the message_id" do
|
24
|
+
subject.message_id.should eq(message_id)
|
25
|
+
end
|
26
|
+
it "should set the account_id" do
|
27
|
+
subject.account_id.should eq(account_id)
|
28
|
+
end
|
29
|
+
it "should set the occurred_at" do
|
30
|
+
subject.occurred_at.to_i.should eq(occurred_at.to_i)
|
31
|
+
end
|
32
|
+
end
|
33
33
|
end
|
data/spec/message_spec.rb
CHANGED
@@ -1,49 +1,49 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Message do
|
4
|
-
describe "#initialize" do
|
5
|
-
let(:to) { random_mobile }
|
6
|
-
let(:from) { random_mobile }
|
7
|
-
let(:body) { random_string }
|
8
|
-
let(:message) { Esendex::Message.new(to, body, from) }
|
9
|
-
|
10
|
-
it "should have to set" do
|
11
|
-
message.to.should eq(to)
|
12
|
-
end
|
13
|
-
|
14
|
-
it "should have from set" do
|
15
|
-
message.from.should eq(from)
|
16
|
-
end
|
17
|
-
|
18
|
-
it "should have body set" do
|
19
|
-
message.body.should eq(body)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
describe "#xml_node" do
|
24
|
-
let(:to) { random_mobile }
|
25
|
-
let(:body) { random_string }
|
26
|
-
let(:message) { Esendex::Message.new(to, body) }
|
27
|
-
|
28
|
-
subject { message.xml_node }
|
29
|
-
|
30
|
-
it "contains a to node" do
|
31
|
-
subject.at_xpath('//message/to').content.should eq(to)
|
32
|
-
end
|
33
|
-
it "contains a body node" do
|
34
|
-
subject.at_xpath('//message/body').content.should eq(body)
|
35
|
-
end
|
36
|
-
|
37
|
-
context "when #from set" do
|
38
|
-
let(:from) { random_string }
|
39
|
-
|
40
|
-
before(:each) do
|
41
|
-
message.from = from
|
42
|
-
end
|
43
|
-
|
44
|
-
it "contains a from node" do
|
45
|
-
subject.at_xpath('//message/from').content.should eq(from)
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Message do
|
4
|
+
describe "#initialize" do
|
5
|
+
let(:to) { random_mobile }
|
6
|
+
let(:from) { random_mobile }
|
7
|
+
let(:body) { random_string }
|
8
|
+
let(:message) { Esendex::Message.new(to, body, from) }
|
9
|
+
|
10
|
+
it "should have to set" do
|
11
|
+
message.to.should eq(to)
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should have from set" do
|
15
|
+
message.from.should eq(from)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should have body set" do
|
19
|
+
message.body.should eq(body)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "#xml_node" do
|
24
|
+
let(:to) { random_mobile }
|
25
|
+
let(:body) { random_string }
|
26
|
+
let(:message) { Esendex::Message.new(to, body) }
|
27
|
+
|
28
|
+
subject { message.xml_node }
|
29
|
+
|
30
|
+
it "contains a to node" do
|
31
|
+
subject.at_xpath('//message/to').content.should eq(to)
|
32
|
+
end
|
33
|
+
it "contains a body node" do
|
34
|
+
subject.at_xpath('//message/body').content.should eq(body)
|
35
|
+
end
|
36
|
+
|
37
|
+
context "when #from set" do
|
38
|
+
let(:from) { random_string }
|
39
|
+
|
40
|
+
before(:each) do
|
41
|
+
message.from = from
|
42
|
+
end
|
43
|
+
|
44
|
+
it "contains a from node" do
|
45
|
+
subject.at_xpath('//message/from').content.should eq(from)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,41 +1,41 @@
|
|
1
|
-
require 'rake'
|
2
|
-
require 'rspec'
|
3
|
-
|
4
|
-
# Configure Rails Environment
|
5
|
-
ENV["RAILS_ENV"] = "test"
|
6
|
-
|
7
|
-
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
8
|
-
require 'rspec/rails'
|
9
|
-
|
10
|
-
Rails.backtrace_cleaner.remove_silencers!
|
11
|
-
|
12
|
-
require_relative "../lib/esendex"
|
13
|
-
include Esendex
|
14
|
-
|
15
|
-
RSpec.configure do |config|
|
16
|
-
config.color = true
|
17
|
-
end
|
18
|
-
|
19
|
-
def random_string
|
20
|
-
(0...24).map{ ('a'..'z').to_a[rand(26)] }.join
|
21
|
-
end
|
22
|
-
|
23
|
-
def random_email
|
24
|
-
"#{random_string}@#{random_string}.com"
|
25
|
-
end
|
26
|
-
|
27
|
-
def random_integer
|
28
|
-
rand(9999)
|
29
|
-
end
|
30
|
-
|
31
|
-
def random_mobile
|
32
|
-
"447#{"%09d" % rand(999999999)}"
|
33
|
-
end
|
34
|
-
|
35
|
-
def random_time
|
36
|
-
Time.now + rand(9999)
|
37
|
-
end
|
38
|
-
|
39
|
-
def random_guid
|
40
|
-
SecureRandom.uuid
|
41
|
-
end
|
1
|
+
require 'rake'
|
2
|
+
require 'rspec'
|
3
|
+
|
4
|
+
# Configure Rails Environment
|
5
|
+
ENV["RAILS_ENV"] = "test"
|
6
|
+
|
7
|
+
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
8
|
+
require 'rspec/rails'
|
9
|
+
|
10
|
+
Rails.backtrace_cleaner.remove_silencers!
|
11
|
+
|
12
|
+
require_relative "../lib/esendex"
|
13
|
+
include Esendex
|
14
|
+
|
15
|
+
RSpec.configure do |config|
|
16
|
+
config.color = true
|
17
|
+
end
|
18
|
+
|
19
|
+
def random_string
|
20
|
+
(0...24).map{ ('a'..'z').to_a[rand(26)] }.join
|
21
|
+
end
|
22
|
+
|
23
|
+
def random_email
|
24
|
+
"#{random_string}@#{random_string}.com"
|
25
|
+
end
|
26
|
+
|
27
|
+
def random_integer
|
28
|
+
rand(9999)
|
29
|
+
end
|
30
|
+
|
31
|
+
def random_mobile
|
32
|
+
"447#{"%09d" % rand(999999999)}"
|
33
|
+
end
|
34
|
+
|
35
|
+
def random_time
|
36
|
+
Time.now + rand(9999)
|
37
|
+
end
|
38
|
+
|
39
|
+
def random_guid
|
40
|
+
SecureRandom.uuid
|
41
|
+
end
|