1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
#!/usr/bin/ruby -Ilib/ -I../lib/
require 'test/unit'
require 'custodian/protocoltest/tcp.rb'
require 'custodian/protocoltest/dns.rb'
require 'custodian/protocoltest/ftp.rb'
require 'custodian/protocoltest/http.rb'
require 'custodian/protocoltest/jabber.rb'
require 'custodian/protocoltest/ldap.rb'
require 'custodian/protocoltest/ping.rb'
require 'custodian/protocoltest/rsync.rb'
require 'custodian/protocoltest/ssh.rb'
require 'custodian/protocoltest/smtp.rb'
class TestTestFactory < Test::Unit::TestCase
#
# Create the test suite environment: NOP.
#
def setup
end
#
# Destroy the test suite environment: NOP.
#
def teardown
end
#
# Test the FTP-test may be created
#
def test_ftp_uri
assert_nothing_raised do
assert( Custodian::TestFactory.create( "ftp.example.com must run ftp." ) )
assert( Custodian::TestFactory.create( "ftp://ftp.example.com/ must run ftp." ) )
assert( Custodian::TestFactory.create( "ftp://ftp.example.com/ must run ftp on 21." ) )
assert( Custodian::TestFactory.create( "ftp://ftp.example.com/ must run ftp on 21 otherwise 'xxx'." ) )
end
assert( Custodian::TestFactory.create( "ftp.example.com must run ftp." ).target() == "ftp.example.com" )
assert( Custodian::TestFactory.create( "ftp://ftp.example.com/ must run ftp." ).target() == "ftp.example.com" )
#
# Test the port detection
#
data = {
"foo must run ftp." => "21",
"ftp://ftp.example.com/ must run ftp." => "21",
"foo must run ftp on 1 otherwise 'x'." => "1",
"foo must run ftp on 33 otherwise" => "33",
}
#
# Run each test
#
data.each do |str,prt|
assert_nothing_raised do
obj = Custodian::TestFactory.create( str )
#
# Ensure we got the object, and the port was correct.
#
assert(obj, "created object via TestFactory.create('#{str}')")
assert( obj.port().to_s == prt , "'#{str}' gave expected port '#{prt}'.")
end
end
end
#
# Test the rsync-test creation.
#
def test_rsync_uri
assert_nothing_raised do
assert( Custodian::TestFactory.create( "example.com must run rsync." ) )
assert( Custodian::TestFactory.create( "ftp://example.com/ must run rsync." ) )
assert( Custodian::TestFactory.create( "ftp://example.com/ must run rsync on 333." ) )
assert( Custodian::TestFactory.create( "ftp://example.com/ must run rsync on 3311 otherwise 'xxx'." ) )
end
assert( Custodian::TestFactory.create( "rsync.example.com must run rsync." ).target() ==
"rsync.example.com" )
assert( Custodian::TestFactory.create( "rsync://rsync.example.com/ must run rsync." ).target() ==
"rsync.example.com" )
#
# Test the ports
#
data = {
"foo must run rsync." => "873",
"rsync://foo/ must run rsync." => "873",
"foo must run rsync on 1 otherwise 'x'." => "1",
"foo must run rsync on 33 otherwise" => "33",
}
#
# Run each test
#
data.each do |str,prt|
assert_nothing_raised do
obj = Custodian::TestFactory.create( str )
#
# Ensure we got the object, and the port was correct.
#
assert(obj, "created object via TestFactory.create('#{str}')")
assert( obj.port().to_s == prt , "'#{str}' gave expected port '#{prt}'.")
end
end
end
end
|