vzcdn 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,24 @@
1
+ require "readline"
2
+ require 'fileutils'
3
+
4
+ class Repl
5
+ def self.do
6
+ system("ec config set http-save-file #{$mockfile}")
7
+ system("rm .vdms.d/*.data")
8
+ while line = Readline.readline("> ", true)
9
+ if (line == "quit")
10
+ break
11
+ end
12
+ system(line)
13
+ end
14
+ puts "good day"
15
+ system("ec config delete http-save-file")
16
+ end
17
+ end
18
+
19
+ base = ARGV.shift
20
+ $mockfile = base + '.mock'
21
+ if File.exist? $mockfile
22
+ FileUtils.rm $mockfile
23
+ end
24
+ Repl.do
@@ -0,0 +1,41 @@
1
+ require "readline"
2
+ require 'test/unit'
3
+ require 'json'
4
+ require 'tempfile'
5
+
6
+ class Repl < MiniTest::Unit::TestCase
7
+ def test_repl
8
+ system("ec config set mock-env #{$mockfile}")
9
+ puts ""
10
+ file = File.open($outfile, "w")
11
+ file.puts("[")
12
+ while line = Readline.readline("> ", true)
13
+ if (line == "quit")
14
+ break
15
+ end
16
+ # p Readline::HISTORY.to_a
17
+ success = nil
18
+ FileUtils.cp($origfile, $watchfile)
19
+ out,err = capture_subprocess_io do
20
+ success = system(line)
21
+ end
22
+ diffout,differr = capture_subprocess_io do
23
+ system("diff #{$origfile} #{$watchfile}")
24
+ end
25
+ o = { cmd: line, stdout: out, stderr: err, diff: diffout}
26
+ file.puts(JSON.pretty_generate(o) + ',')
27
+ puts out
28
+ end
29
+ file.puts(" {} ]")
30
+ system("ec config delete mock-env")
31
+ end
32
+ end
33
+
34
+ basename = ARGV.shift
35
+ $mockfile = basename + '.mock'
36
+ $outfile = basename + '.results'
37
+ $watchfile = 'zones/mockzone.5385'
38
+ file = Tempfile.new('cluitest')
39
+ $origfile = file.path
40
+ file.write(File.open($watchfile).read)
41
+ file.close
@@ -0,0 +1,58 @@
1
+ [
2
+ {
3
+ "url": "https://api.edgecast.com/v2/mcc/customers/BED3/dns/routezones",
4
+ "method": "get",
5
+ "body": null,
6
+ "response_code": 200,
7
+ "response_body": "[{\"DomainName\":\"Daniel.Test.\",\"Status\":1,\"Version\":1400255085,\"ZoneId\":5389,\"ZoneType\":1},{\"DomainName\":\"mockzone.\",\"Status\":1,\"Version\":1400268405,\"ZoneId\":5385,\"ZoneType\":1},{\"DomainName\":\"nitin.\",\"Status\":1,\"Version\":1400096702,\"ZoneId\":5284,\"ZoneType\":1},{\"DomainName\":\"pythonzone.\",\"Status\":1,\"Version\":1400169998,\"ZoneId\":5366,\"ZoneType\":1},{\"DomainName\":\"vdmstest.com.\",\"Status\":1,\"Version\":1398108874,\"ZoneId\":4980,\"ZoneType\":1},{\"DomainName\":\"vzdms.com.\",\"Status\":1,\"Version\":1400510393,\"ZoneId\":5391,\"ZoneType\":2}]"
8
+ },
9
+ {
10
+ "url": "https://api.edgecast.com/v2/mcc//dns/routezonestatus",
11
+ "method": "get",
12
+ "body": null,
13
+ "response_code": 200,
14
+ "response_body": "[{\"Id\":1,\"Name\":\"Active\"},{\"Id\":2,\"Name\":\"Inactive\"}]"
15
+ },
16
+ {
17
+ "url": "https://api.edgecast.com/v2/mcc//dns/routezonetypes",
18
+ "method": "get",
19
+ "body": null,
20
+ "response_code": 200,
21
+ "response_body": "[{\"Id\":1,\"Name\":\"Primary\"},{\"Id\":2,\"Name\":\"Secondary\"}]"
22
+ },
23
+ {
24
+ "url": "https://api.edgecast.com/v2/mcc//dns/routehealthchecktypes",
25
+ "method": "get",
26
+ "body": null,
27
+ "response_code": 200,
28
+ "response_body": "[{\"Id\":1,\"Name\":\"HTTP\"},{\"Id\":2,\"Name\":\"HTTPs\"},{\"Id\":3,\"Name\":\"TCP Open\"},{\"Id\":4,\"Name\":\"TCP SSL\"}]"
29
+ },
30
+ {
31
+ "url": "https://api.edgecast.com/v2/mcc//dns/routehttpmethodtypes",
32
+ "method": "get",
33
+ "body": null,
34
+ "response_code": 200,
35
+ "response_body": "[{\"Id\":1,\"Name\":\"GET\"},{\"Id\":2,\"Name\":\"POST\"}]"
36
+ },
37
+ {
38
+ "url": "https://api.edgecast.com/v2/mcc//dns/routehealthcheckipversion",
39
+ "method": "get",
40
+ "body": null,
41
+ "response_code": 200,
42
+ "response_body": "[{\"Id\":1,\"Name\":\"IPv4\"},{\"Id\":2,\"Name\":\"IPv6\"}]"
43
+ },
44
+ {
45
+ "url": "https://api.edgecast.com/v2/mcc//dns/routereintegrationmethodtypes",
46
+ "method": "get",
47
+ "body": null,
48
+ "response_code": 200,
49
+ "response_body": "[{\"Id\":1,\"Name\":\"Automatic\"},{\"Id\":2,\"Name\":\"Manual\"}]"
50
+ },
51
+ {
52
+ "url": "https://api.edgecast.com/v2/mcc/customers/BED3/dns/routezone",
53
+ "method": "put",
54
+ "body": "{\n \"Comment\": \"\",\n \"DomainName\": \"mockzone.\",\n \"FailoverGroups\": [\n {\n \"Group\": {\n \"A\": [\n\n ],\n \"AAAA\": [\n\n ],\n \"CNAME\": [\n {\n \"HealthCheck\": null,\n \"IsPrimary\": true,\n \"Record\": {\n \"Name\": \"fo1\",\n \"Rdata\": \"www.google.com.mockzone.\",\n \"TTL\": 300\n }\n },\n {\n \"HealthCheck\": null,\n \"IsPrimary\": false,\n \"Record\": {\n \"Name\": \"fo1\",\n \"Rdata\": \"www.yahoo.com.mockzone.\",\n \"TTL\": 300\n }\n }\n ]\n },\n \"GroupTypeId\": 3,\n \"Name\": \"fo1\"\n }\n ],\n \"LoadBalancingGroups\": [\n {\n \"Group\": {\n \"A\": [\n {\n \"HealthCheck\": null,\n \"Weight\": 50,\n \"Record\": {\n \"Name\": \"lb1\",\n \"Rdata\": \"192.186.1.1\",\n \"TTL\": 300\n }\n },\n {\n \"HealthCheck\": null,\n \"Weight\": 50,\n \"Record\": {\n \"Name\": \"lb1\",\n \"Rdata\": \"192.186.2.2\",\n \"TTL\": 300\n }\n }\n ],\n \"AAAA\": [\n {\n \"HealthCheck\": {\n \"CheckInterval\": 60,\n \"CheckTypeId\": 1,\n \"ContentVerification\": \"\",\n \"EmailNotificationAddress\": \"a@b.c\",\n \"FailedCheckThreshold\": 4,\n \"HTTPMethodId\": null,\n \"IPAddress\": \"\",\n \"IPVersion\": 1,\n \"PortNumber\": null,\n \"ReintegrationMethodId\": 1,\n \"Status\": 2,\n \"StatusName\": \"Failed\",\n \"Uri\": \"www.google.com\"\n },\n \"Weight\": 50,\n \"Record\": {\n \"Name\": \"lb1\",\n \"Rdata\": \"2:2::\",\n \"TTL\": 300\n }\n },\n {\n \"HealthCheck\": {\n \"CheckInterval\": 60,\n \"CheckTypeId\": 1,\n \"ContentVerification\": \"\",\n \"EmailNotificationAddress\": \"a@b.c\",\n \"FailedCheckThreshold\": 4,\n \"HTTPMethodId\": null,\n \"IPAddress\": \"\",\n \"IPVersion\": 1,\n \"PortNumber\": null,\n \"ReintegrationMethodId\": 1,\n \"Status\": 2,\n \"StatusName\": \"Failed\",\n \"Uri\": \"www.yahoo.com\"\n },\n \"Weight\": 50,\n \"Record\": {\n \"Name\": \"lb1\",\n \"Rdata\": \"1:1::\",\n \"TTL\": 300\n }\n }\n ],\n \"CNAME\": [\n\n ]\n },\n \"GroupTypeId\": 3,\n \"Name\": \"lb1\"\n },\n {\n \"Group\": {\n \"A\": [\n {\n \"HealthCheck\": null,\n \"Weight\": 33,\n \"Record\": {\n \"Name\": \"lb2\",\n \"Rdata\": \"192.186.3.3\",\n \"TTL\": 300\n }\n },\n {\n \"HealthCheck\": null,\n \"Weight\": 33,\n \"Record\": {\n \"Name\": \"lb2\",\n \"Rdata\": \"192.186.4.4\",\n \"TTL\": 300\n }\n },\n {\n \"HealthCheck\": null,\n \"Weight\": 33,\n \"Record\": {\n \"Name\": \"lb2\",\n \"Rdata\": \"192.186.5.5\",\n \"TTL\": 300\n }\n }\n ],\n \"AAAA\": [\n\n ],\n \"CNAME\": [\n\n ]\n },\n \"GroupTypeId\": 3,\n \"Name\": \"lb2\"\n }\n ],\n \"Records\": {\n \"A\": [\n {\n \"Name\": \"@\",\n \"Rdata\": \"23.96.96.142\",\n \"TTL\": 4500\n },\n {\n \"Name\": \"portal\",\n \"Rdata\": \"65.196.119.145\",\n \"TTL\": 3600\n },\n {\n \"Name\": \"ops\",\n \"Rdata\": \"65.196.119.146\",\n \"TTL\": 3600\n },\n {\n \"Name\": \"sso\",\n \"Rdata\": \"65.196.119.147\",\n \"TTL\": 3600\n }\n ],\n \"AAAA\": [\n\n ],\n \"CNAME\": [\n {\n \"Name\": \"mockasia\",\n \"Rdata\": \"wpc.BED3.edgecastcdn.net.mockzone.\",\n \"TTL\": 3600\n },\n {\n \"Name\": \"mockeurope\",\n \"Rdata\": \"wpc.BED3.edgecastcdn.net.mockzone.\",\n \"TTL\": 3600\n },\n {\n \"Name\": \"www\",\n \"Rdata\": \"VZ-CDN-Learn-75038-site1.azurewebsites.net.mockzone.\",\n \"TTL\": 3600\n }\n ],\n \"MX\": [\n\n ],\n \"NS\": [\n\n ],\n \"SPF\": [\n\n ],\n \"SRV\": [\n\n ],\n \"TXT\": [\n\n ]\n },\n \"Status\": 1,\n \"Version\": 1400268405,\n \"ZoneId\": 5385,\n \"ZoneType\": 1\n}",
55
+ "response_code": 200,
56
+ "response_body": "{\"Comment\":\"\",\"DomainName\":\"mockzone.\",\"FailoverGroups\":[{\"Group\":{\"A\":[],\"AAAA\":[],\"CNAME\":[{\"HealthCheck\":null,\"IsPrimary\":true,\"Record\":{\"Name\":\"fo1\",\"Rdata\":\"www.google.com.mockzone.\",\"TTL\":300}},{\"HealthCheck\":null,\"IsPrimary\":false,\"Record\":{\"Name\":\"fo1\",\"Rdata\":\"www.yahoo.com.mockzone.\",\"TTL\":300}}]},\"GroupTypeId\":3,\"Name\":\"fo1\"}],\"LoadBalancingGroups\":[{\"Group\":{\"A\":[{\"HealthCheck\":null,\"Record\":{\"Name\":\"lb1\",\"Rdata\":\"192.186.1.1\",\"TTL\":300},\"Weight\":50},{\"HealthCheck\":null,\"Record\":{\"Name\":\"lb1\",\"Rdata\":\"192.186.2.2\",\"TTL\":300},\"Weight\":50}],\"AAAA\":[{\"HealthCheck\":{\"CheckInterval\":60,\"CheckTypeId\":1,\"ContentVerification\":\"\",\"EmailNotificationAddress\":\"a@b.c\",\"FailedCheckThreshold\":4,\"HTTPMethodId\":null,\"IPAddress\":\"\",\"IPVersion\":1,\"PortNumber\":null,\"ReintegrationMethodId\":1,\"Status\":4,\"StatusName\":\"Unknown\",\"Uri\":\"www.google.com\"},\"Record\":{\"Name\":\"lb1\",\"Rdata\":\"2:2::\",\"TTL\":300},\"Weight\":50},{\"HealthCheck\":{\"CheckInterval\":60,\"CheckTypeId\":1,\"ContentVerification\":\"\",\"EmailNotificationAddress\":\"a@b.c\",\"FailedCheckThreshold\":4,\"HTTPMethodId\":null,\"IPAddress\":\"\",\"IPVersion\":1,\"PortNumber\":null,\"ReintegrationMethodId\":1,\"Status\":4,\"StatusName\":\"Unknown\",\"Uri\":\"www.yahoo.com\"},\"Record\":{\"Name\":\"lb1\",\"Rdata\":\"1:1::\",\"TTL\":300},\"Weight\":50}],\"CNAME\":[]},\"GroupTypeId\":3,\"Name\":\"lb1\"},{\"Group\":{\"A\":[{\"HealthCheck\":null,\"Record\":{\"Name\":\"lb2\",\"Rdata\":\"192.186.3.3\",\"TTL\":300},\"Weight\":33},{\"HealthCheck\":null,\"Record\":{\"Name\":\"lb2\",\"Rdata\":\"192.186.4.4\",\"TTL\":300},\"Weight\":33},{\"HealthCheck\":null,\"Record\":{\"Name\":\"lb2\",\"Rdata\":\"192.186.5.5\",\"TTL\":300},\"Weight\":33}],\"AAAA\":[],\"CNAME\":[]},\"GroupTypeId\":3,\"Name\":\"lb2\"}],\"Records\":{\"A\":[{\"Name\":\"portal\",\"Rdata\":\"65.196.119.145\",\"TTL\":3600},{\"Name\":\"ops\",\"Rdata\":\"65.196.119.146\",\"TTL\":3600},{\"Name\":\"sso\",\"Rdata\":\"65.196.119.147\",\"TTL\":3600},{\"Name\":\"@\",\"Rdata\":\"23.96.96.142\",\"TTL\":4500}],\"AAAA\":[],\"CNAME\":[{\"Name\":\"mockasia\",\"Rdata\":\"wpc.BED3.edgecastcdn.net.mockzone.\",\"TTL\":3600},{\"Name\":\"mockeurope\",\"Rdata\":\"wpc.BED3.edgecastcdn.net.mockzone.\",\"TTL\":3600},{\"Name\":\"www\",\"Rdata\":\"VZ-CDN-Learn-75038-site1.azurewebsites.net.mockzone.\",\"TTL\":3600}],\"MX\":[],\"NS\":[],\"SPF\":[],\"SRV\":[],\"TXT\":[]},\"Status\":1,\"Version\":1400600570,\"ZoneId\":5385,\"ZoneType\":1}"
57
+ }
58
+ ]
@@ -9,6 +9,7 @@ lib_dir = File.expand_path '../lib'
9
9
  test_dir = File.expand_path '.'
10
10
  $ruby_command = "ruby -I" + lib_dir + " " + bin_dir + "/ec "
11
11
  $debug = 0
12
+ PROMPT = "~/VZCDNclui/vzcdn/lib $ ec "
12
13
 
13
14
  # test_directory = Dir.mktmpdir "steve"
14
15
  # Dir.chdir test_directory
@@ -35,16 +36,16 @@ class TestClui < MiniTest::Unit::TestCase
35
36
  @@route = Route.do
36
37
  end
37
38
 
38
- def ctest_availables
39
+ def test_availables
39
40
  @@route.get_available_zone_types
40
41
 
41
- puts "record types:" + route.get_available_record_types.to_s
42
- puts "zone status:" + route.get_available_zone_statuses.to_s
43
- puts "route groups:" + route.get_available_route_groups.to_s
44
- puts "http:" + route.get_available_http_methods.to_s
45
- puts "ip vers:" + route.get_available_ip_versions.to_s
46
- puts "hc types:" + route.get_available_health_check_types.to_s
47
- puts "hc reints:" + route.get_available_health_check_reintegration_methods.to_s
42
+ puts "record types:" + @@route.get_available_record_types.to_s
43
+ puts "zone status:" + @@route.get_available_zone_statuses.to_s
44
+ puts "route groups:" + @@route.get_available_route_groups.to_s
45
+ puts "http:" + @@route.get_available_http_methods.to_s
46
+ puts "ip vers:" + @@route.get_available_ip_versions.to_s
47
+ puts "hc types:" + @@route.get_available_health_check_types.to_s
48
+ puts "hc reints:" + @@route.get_available_health_check_reintegration_methods.to_s
48
49
  end
49
50
 
50
51
  def call_ec(rest)
@@ -62,13 +63,9 @@ class TestClui < MiniTest::Unit::TestCase
62
63
 
63
64
  def assert_ec_output(rest, expected_out)
64
65
  out, err, success = call_ec_io(rest)
66
+ puts "\n\ntest output is: #{out}\n\n"
65
67
  assert success, "'" + rest + "' failed"
66
- if (expected_out.class == Regexp)
67
- assert_match expected_out, out.chomp, "'" + rest + "' failed"
68
- else
69
- assert_equal expected_out, out.chomp, "'" + rest + "' failed"
70
- end
71
-
68
+ assert_equal expected_out.chomp, out.chomp, "'" + rest + "' failed"
72
69
  assert_equal '', err.chomp, "'" + rest + "' printed to stderr:" + err
73
70
  end
74
71
 
@@ -106,12 +103,34 @@ class TestClui < MiniTest::Unit::TestCase
106
103
  File.delete(zone_file zone)
107
104
  end
108
105
 
109
- def test_print_zone
106
+ def test_pull_zone
110
107
  get_zones
111
108
  zone = @@zones.sample
112
109
  name = zone["DomainName"]
113
110
  assert_ec_output("zone #{name} pull", /saved locally/)
114
111
  end
112
+
113
+ def test_transcript
114
+ File.open("transcript.txt") { |f|
115
+ response = ""
116
+ command = nil
117
+ f.each_line { |line|
118
+ if (line.index(PROMPT) == 0)
119
+ if (command && response)
120
+ puts "\n\ncommand is #{command}\n\n"
121
+ puts "\n\exepect_output is #{response}\n\n"
122
+ assert_ec_output(command, response)
123
+ puts "succeded test for command: #{command}"
124
+ end
125
+ command = line.sub(PROMPT,'')
126
+ response = ""
127
+ else
128
+ response += line
129
+ end
130
+ }
131
+ }
132
+ end
133
+
115
134
 
116
135
  end
117
136
 
@@ -0,0 +1,282 @@
1
+ require 'test/unit'
2
+ require 'json'
3
+ require 'tempfile'
4
+
5
+ $test_dir = File.expand_path '.'
6
+
7
+ class TestMock < MiniTest::Unit::TestCase
8
+ def setup
9
+ @temp_dir = Dir.mktmpdir "steve"
10
+ Dir.chdir @temp_dir
11
+ system "ec config init BED3 asdf-sdfgds-fhdg-jhg-kja"
12
+ Dir.mkdir 'zones'
13
+ Dir.mkdir '.vdms.d/zones'
14
+ FileUtils.cp($origfile, $watchfile)
15
+ FileUtils.cp($origfile, ".vdms.d/#{$watchfile}")
16
+ end
17
+
18
+ def teardown
19
+ FileUtils.remove_entry @temp_dir
20
+ end
21
+
22
+ def check_patch(diffout)
23
+ FileUtils.cp($origfile, "t.t")
24
+ File.open("t.patch", "w") { |file|
25
+ file.write(diffout)
26
+ }
27
+ system "patch t.t t.patch > /dev/null"
28
+ rc = system "cmp --quiet t.t #{$watchfile}"
29
+ assert_equal rc, true, "#{$watchfile} doesn't match"
30
+ end
31
+
32
+ def results(command, out)
33
+ results = JSON.parse(File.open("#{$test_dir}/#{@mockbase}.results").read)
34
+ results.each { |result|
35
+ if result['cmd'] == command
36
+ if result['diff'] != ''
37
+ check_patch(result['diff'])
38
+ else
39
+ assert_equal result['stdout'], out, "output of command #{command} doesn't match"
40
+ end
41
+ end
42
+ }
43
+ end
44
+
45
+ def assert_side_effects(base, command)
46
+ @mockbase = base
47
+ system "ec config set mock-env #{$test_dir}/#{@mockbase}.mock"
48
+ out, err = capture_subprocess_io do
49
+ system(command)
50
+ end
51
+ obj = results(command, out)
52
+ end
53
+
54
+ def test_no_connection
55
+ assert_side_effects('unreachable', "ec zone list")
56
+ end
57
+
58
+ def test_bad_credentials
59
+ assert_side_effects('bad-credentials', "ec zone list")
60
+ end
61
+
62
+ def test_zone_list
63
+ assert_side_effects('initial', 'ec zone list')
64
+ end
65
+
66
+ def test_pull
67
+ assert_side_effects('initial', 'ec zone mockzone pull')
68
+ end
69
+
70
+ def test_pull_id
71
+ assert_side_effects('initial', 'ec zone 5385 pull')
72
+ end
73
+
74
+ def test_ec_zone_mockzone
75
+ assert_side_effects('initial', 'ec zone mockzone')
76
+ end
77
+
78
+ def test_ec_zone_5385
79
+ assert_side_effects('initial', 'ec zone 5385')
80
+ end
81
+
82
+ def test_ec_zone_mockzone_rec
83
+ assert_side_effects('initial', 'ec zone mockzone rec')
84
+ end
85
+
86
+ def test_ec_zone_mockzone_rec_a
87
+ assert_side_effects('initial', 'ec zone mockzone rec a')
88
+ end
89
+
90
+ def test_ec_zone_mockzone_rec_a_cn
91
+ assert_side_effects('initial', 'ec zone mockzone rec a cn')
92
+ end
93
+
94
+ def test_ec_zone_mockzone_rec_cn
95
+ assert_side_effects('initial', 'ec zone mockzone rec cn')
96
+ end
97
+
98
+ def test_ec_zone_mockzone_rec_cn_print_h
99
+ assert_side_effects('initial', 'ec zone mockzone rec cn print -h')
100
+ end
101
+
102
+ def test_ec_zone_mockzone_rec_cn_print_columns_Name_Rdata
103
+ assert_side_effects('initial', 'ec zone mockzone rec cn print --columns=Name,Rdata')
104
+ end
105
+
106
+ def test_ec_zone_mockzone
107
+ assert_side_effects('initial', 'ec zone mockzone ')
108
+ end
109
+
110
+ def test_ec_zone_mockzone_fail
111
+ assert_side_effects('initial', 'ec zone mockzone fail')
112
+ end
113
+
114
+ def test_ec_zone_mockzone_fail_1_group
115
+ assert_side_effects('initial', 'ec zone mockzone fail 1 group')
116
+ end
117
+
118
+ def test_ec_zone_mockzone_fail_1_group_cn
119
+ assert_side_effects('initial', 'ec zone mockzone fail 1 group cn')
120
+ end
121
+
122
+ def test_ec_zone_mockzone_load
123
+ assert_side_effects('initial', 'ec zone mockzone load')
124
+ end
125
+
126
+ def test_ec_zone_mockzone_load_1
127
+ assert_side_effects('initial', 'ec zone mockzone load 1')
128
+ end
129
+
130
+ def test_ec_zone_mockzone_load_1_group
131
+ assert_side_effects('initial', 'ec zone mockzone load 1 group')
132
+ end
133
+
134
+ def test_ec_zone_mockzone_load_1_group_a
135
+ assert_side_effects('initial', 'ec zone mockzone load 1 group a')
136
+ end
137
+
138
+ def test_ec_zone_mockzone_load_1_group_aaaa
139
+ assert_side_effects('initial', 'ec zone mockzone load 1 group aaaa')
140
+ end
141
+
142
+ def test_ec_zone_mockzone_load_1_group_aaaa
143
+ assert_side_effects('initial', 'ec zone mockzone load 1 group aaaa')
144
+ end
145
+
146
+ def test_ec_zone_mockzone_load_1_group_aaaa_h
147
+ assert_side_effects('initial', 'ec zone mockzone load 1 group aaaa h')
148
+ end
149
+
150
+ def test_ec_zone_mockzone_load_2
151
+ assert_side_effects('initial', 'ec zone mockzone load 2')
152
+ end
153
+
154
+ def test_ec_zone_mockzone_load_2_group
155
+ assert_side_effects('initial', 'ec zone mockzone load 2 group')
156
+ end
157
+
158
+ def test_ec_zone_mockzone_load_2_group_a
159
+ assert_side_effects('initial', 'ec zone mockzone load 2 group a')
160
+ end
161
+
162
+ def test_ec_zone_mockzone_load_2_group_a_print_j
163
+ assert_side_effects('initial', 'ec zone mockzone load 2 group a print -j')
164
+ end
165
+
166
+ def test_ec_zone_mockzone_load_2_group_a_print_h
167
+ assert_side_effects('initial', 'ec zone mockzone load 2 group a print -h')
168
+ end
169
+
170
+ def test_ec_zone_mockzone_load_2_group_a_print_tcsv
171
+ assert_side_effects('initial', 'ec zone mockzone load 2 group a print -tcsv')
172
+ end
173
+
174
+ def test_ec_zone_mockzone_load_2_group_a_print_tcsv_noheader
175
+ assert_side_effects('initial', 'ec zone mockzone load 2 group a print -tcsv --no-header')
176
+ end
177
+
178
+ def test_ec_zone_mockzone
179
+ assert_side_effects('initial', 'ec zone mockzone')
180
+ end
181
+
182
+ def test_ec_zone_5385
183
+ assert_side_effects('initial', 'ec zone 5385')
184
+ end
185
+
186
+ def test_ec_zone_5385_rec
187
+ assert_side_effects('initial', 'ec zone 5385 rec')
188
+ end
189
+
190
+ def test_ec_zone_5385_rec_a
191
+ assert_side_effects('initial', 'ec zone 5385 rec a')
192
+ end
193
+
194
+ def test_ec_zone_5385_rec_a_add
195
+ assert_side_effects('initial', 'ec zone 5385 rec a add')
196
+ end
197
+
198
+ def test_ec_zone_5385_rec_a_add_figs_66_196_119_148_4500
199
+ assert_side_effects('initial', 'ec zone 5385 rec a add figs 66.196.119.148 4500')
200
+ end
201
+
202
+ def test_ec_zone_mockzone
203
+ assert_side_effects('initial', 'ec zone mockzone')
204
+ end
205
+
206
+ def test_ec_zone_mockzone_fail
207
+ assert_side_effects('initial', 'ec zone mockzone fail')
208
+ end
209
+
210
+ def test_ec_zone_mockzone_fail_add
211
+ assert_side_effects('initial', 'ec zone mockzone fail add')
212
+ end
213
+
214
+ def test_ec_zone_mockzone_fail_add_fo2_450
215
+ assert_side_effects('initial', 'ec zone mockzone fail add fo2 450')
216
+ end
217
+
218
+ def test_ec_zone_mockzone_fail_2_group
219
+ assert_side_effects('initial', 'ec zone mockzone fail 2 group')
220
+ end
221
+
222
+ def test_ec_zone_mockzone_fail_2
223
+ assert_side_effects('initial', 'ec zone mockzone fail 2 ')
224
+ end
225
+
226
+ def test_ec_zone_mockzone_fail
227
+ assert_side_effects('initial', 'ec zone mockzone fail ')
228
+ end
229
+
230
+ def test_ec_zone_mockzone_load
231
+ assert_side_effects('initial', 'ec zone mockzone load')
232
+ end
233
+
234
+ def test_ec_zone_mockzone_load_2
235
+ assert_side_effects('initial', 'ec zone mockzone load 2')
236
+ end
237
+
238
+ def test_ec_zone_mockzone_load_2_group
239
+ assert_side_effects('initial', 'ec zone mockzone load 2 group')
240
+ end
241
+
242
+ def test_ec_zone_mockzone_load_2_group_a
243
+ assert_side_effects('initial', 'ec zone mockzone load 2 group a')
244
+ end
245
+
246
+ def test_ec_zone_mockzone_load_2_group_a_add
247
+ assert_side_effects('initial', 'ec zone mockzone load 2 group a add')
248
+ end
249
+
250
+ def test_ec_zone_mockzone_load_2_group_a_add_44_192_186_5_6
251
+ assert_side_effects('initial', 'ec zone mockzone load 2 group a add 44 192.186.5.6')
252
+ end
253
+
254
+ def test_ec_zone_mockzone_load_2_group_a_1
255
+ assert_side_effects('initial', 'ec zone mockzone load 2 group a 1')
256
+ end
257
+
258
+ def test_ec_zone_mockzone_load_2_group_a_1_sethc
259
+ assert_side_effects('initial', 'ec zone mockzone load 2 group a 1 sethc')
260
+ end
261
+
262
+ def test_ec_zone_mockzone_load_2_group_a_1_sethc_HTTPs
263
+ assert_side_effects('initial', 'ec zone mockzone load 2 group a 1 sethc HTTPs www.google.com IPv6 300 2 s.c@v.com')
264
+ end
265
+
266
+ def test_crud_ec_zone
267
+ assert_side_effects('crud', 'ec zone')
268
+ assert_side_effects('crud', 'ec zone create -h')
269
+ assert_side_effects('crud', 'ec zone create deleteme Active')
270
+ assert_side_effects('crud', 'ec zone deleteme ')
271
+ assert_side_effects('crud', 'ec zone deleteme rec')
272
+ assert_side_effects('crud', 'ec zone deleteme rec a add images 196.244.5.1 3500')
273
+ assert_side_effects('crud', 'ec zone deleteme push')
274
+ assert_side_effects('crud', 'ec zone deleteme delete')
275
+ end
276
+ end
277
+
278
+ $watchfile = 'zones/mockzone.5385'
279
+ file = Tempfile.new('cluitest')
280
+ $origfile = file.path
281
+ file.write(File.open($watchfile).read)
282
+ file.close