htty 1.1.6 → 1.2.0
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.
- data/History.markdown +46 -0
- data/README.markdown +12 -12
- data/VERSION +1 -1
- data/lib/htty/cli.rb +10 -0
- data/lib/htty/cli/command.rb +50 -41
- data/lib/htty/cli/commands/http_put.rb +3 -0
- data/lib/htty/cli/commands/query_unset.rb +4 -2
- data/lib/htty/cli/http_method_command.rb +5 -3
- data/spec/integration/htty/cli/commands/query_add_spec.rb +51 -0
- data/spec/integration/htty/cli/commands/query_remove_spec.rb +37 -0
- data/spec/integration/htty/cli/commands/query_set_spec.rb +72 -0
- data/spec/integration/htty/cli/commands/query_unset_spec.rb +37 -0
- data/spec/unit/htty/cli/commands/address_spec.rb +103 -0
- data/spec/unit/htty/cli/commands/body_clear_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/body_request_spec.rb +72 -0
- data/spec/unit/htty/cli/commands/body_response_spec.rb +70 -0
- data/spec/unit/htty/cli/commands/body_set_spec.rb +71 -0
- data/spec/unit/htty/cli/commands/body_unset_spec.rb +69 -0
- data/spec/unit/htty/cli/commands/cd_spec.rb +57 -0
- data/spec/unit/htty/cli/commands/cookie_add_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/cookie_remove_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/cookies_add_spec.rb +78 -0
- data/spec/unit/htty/cli/commands/cookies_clear_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/cookies_remove_all_spec.rb +73 -0
- data/spec/unit/htty/cli/commands/cookies_remove_spec.rb +69 -0
- data/spec/unit/htty/cli/commands/cookies_spec.rb +76 -0
- data/spec/unit/htty/cli/commands/cookies_use_spec.rb +75 -0
- data/spec/unit/htty/cli/commands/delete_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/exit_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/follow_spec.rb +70 -0
- data/spec/unit/htty/cli/commands/form_add_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/form_clear_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/form_remove_all_spec.rb +66 -0
- data/spec/unit/htty/cli/commands/form_remove_spec.rb +57 -0
- data/spec/unit/htty/cli/commands/form_spec.rb +57 -0
- data/spec/unit/htty/cli/commands/fragment_clear_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/fragment_set_spec.rb +73 -0
- data/spec/unit/htty/cli/commands/fragment_unset_spec.rb +72 -0
- data/spec/unit/htty/cli/commands/get_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/header_set_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/header_unset_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/headers_clear_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/headers_request_spec.rb +81 -0
- data/spec/unit/htty/cli/commands/headers_response_spec.rb +77 -0
- data/spec/unit/htty/cli/commands/headers_set_spec.rb +74 -0
- data/spec/unit/htty/cli/commands/headers_unset_all_spec.rb +71 -0
- data/spec/unit/htty/cli/commands/headers_unset_spec.rb +63 -0
- data/spec/unit/htty/cli/commands/help_spec.rb +67 -0
- data/spec/unit/htty/cli/commands/history_spec.rb +65 -0
- data/spec/unit/htty/cli/commands/history_verbose_spec.rb +72 -0
- data/spec/unit/htty/cli/commands/host_set_spec.rb +71 -0
- data/spec/unit/htty/cli/commands/http_delete_spec.rb +73 -0
- data/spec/unit/htty/cli/commands/http_get_spec.rb +75 -0
- data/spec/unit/htty/cli/commands/http_head_spec.rb +69 -0
- data/spec/unit/htty/cli/commands/http_options_spec.rb +69 -0
- data/spec/unit/htty/cli/commands/http_post_spec.rb +71 -0
- data/spec/unit/htty/cli/commands/http_put_spec.rb +69 -0
- data/spec/unit/htty/cli/commands/http_trace_spec.rb +69 -0
- data/spec/unit/htty/cli/commands/path_set_spec.rb +72 -0
- data/spec/unit/htty/cli/commands/port_set_spec.rb +73 -0
- data/spec/unit/htty/cli/commands/post_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/put_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/query_add_spec.rb +67 -36
- data/spec/unit/htty/cli/commands/query_clear_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/query_remove_spec.rb +69 -24
- data/spec/unit/htty/cli/commands/query_set_spec.rb +59 -49
- data/spec/unit/htty/cli/commands/query_unset_all_spec.rb +73 -0
- data/spec/unit/htty/cli/commands/query_unset_spec.rb +75 -0
- data/spec/unit/htty/cli/commands/quit_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/reuse_spec.rb +72 -0
- data/spec/unit/htty/cli/commands/scheme_set_spec.rb +74 -0
- data/spec/unit/htty/cli/commands/ssl_verification_off_spec.rb +67 -0
- data/spec/unit/htty/cli/commands/ssl_verification_on_spec.rb +60 -0
- data/spec/unit/htty/cli/commands/ssl_verification_spec.rb +65 -0
- data/spec/unit/htty/cli/commands/status_spec.rb +73 -0
- data/spec/unit/htty/cli/commands/undo_spec.rb +57 -0
- data/spec/unit/htty/cli/commands/userinfo_clear_spec.rb +64 -0
- data/spec/unit/htty/cli/commands/userinfo_set_spec.rb +75 -0
- data/spec/unit/htty/cli/commands/userinfo_unset_spec.rb +72 -0
- data/spec/unit/htty/cli_spec.rb +8 -2
- data/spec/unit/htty/ordered_hash_spec.rb +14 -24
- data/spec/unit/htty/preferences_spec.rb +1 -1
- data/spec/unit/htty/request_spec.rb +454 -463
- metadata +80 -20
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
require 'rspec'
|
|
2
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/header_unset")
|
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/headers_request")
|
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/headers_set")
|
|
5
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/headers_unset")
|
|
6
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/headers_unset_all")
|
|
7
|
+
|
|
8
|
+
describe HTTY::CLI::Commands::HeadersUnset do
|
|
9
|
+
describe 'class' do
|
|
10
|
+
let :klass do
|
|
11
|
+
subject.class
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it 'should be an alias_for the expected command' do
|
|
15
|
+
klass.alias_for.should == nil
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'should have the expected aliases' do
|
|
19
|
+
klass.aliases.should == [HTTY::CLI::Commands::HeaderUnset]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it 'should belong to the expected category' do
|
|
23
|
+
klass.category.should == 'Building Requests'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it 'should have the expected command_line' do
|
|
27
|
+
klass.command_line.should == 'headers-unset'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'should have the expected command_line_arguments' do
|
|
31
|
+
klass.command_line_arguments.should == 'NAME'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it 'should have the expected help' do
|
|
35
|
+
klass.help.should == 'Removes a header of the request'
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it 'should have the expected help_extended' do
|
|
39
|
+
klass.help_extended.should == 'Removes a header used for the request. ' +
|
|
40
|
+
'Does not communicate with the host.'
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
it 'should have the expected see_also_commands' do
|
|
44
|
+
klass.see_also_commands.should == [HTTY::CLI::Commands::HeadersRequest,
|
|
45
|
+
HTTY::CLI::Commands::HeadersSet,
|
|
46
|
+
HTTY::CLI::Commands::HeadersUnsetAll]
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
describe 'build_for' do
|
|
50
|
+
it 'should correctly handle a valid, unabbreviated command line' do
|
|
51
|
+
built = klass.build_for('headers-unset foo', :session => :the_session)
|
|
52
|
+
built.should be_instance_of(klass)
|
|
53
|
+
built.arguments.should == ['foo']
|
|
54
|
+
built.session.should == :the_session
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it 'should correctly handle a command line with a bad command' do
|
|
58
|
+
built = klass.build_for('x', :session => :another_session)
|
|
59
|
+
built.should == nil
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
require 'rspec'
|
|
2
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/help")
|
|
3
|
+
|
|
4
|
+
describe HTTY::CLI::Commands::Help do
|
|
5
|
+
describe 'class' do
|
|
6
|
+
let :klass do
|
|
7
|
+
subject.class
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it 'should be an alias_for the expected command' do
|
|
11
|
+
klass.alias_for.should == nil
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it 'should have the expected aliases' do
|
|
15
|
+
klass.aliases.should == []
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'should belong to the expected category' do
|
|
19
|
+
klass.category.should == nil
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it 'should have the expected command_line' do
|
|
23
|
+
klass.command_line.should == 'hel[p]'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it 'should have the expected command_line_arguments' do
|
|
27
|
+
klass.command_line_arguments.should == '[COMMAND]'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'should have the expected help' do
|
|
31
|
+
klass.help.should == 'Displays this help table, or help on the ' +
|
|
32
|
+
'specified command'
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it 'should have the expected help_extended' do
|
|
36
|
+
klass.help_extended.should == 'Displays a table containing available ' +
|
|
37
|
+
'commands and a brief description of ' +
|
|
38
|
+
'each, or detailed help on the specified ' +
|
|
39
|
+
'command.'
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
it 'should have the expected see_also_commands' do
|
|
43
|
+
klass.see_also_commands.should == []
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
describe 'build_for' do
|
|
47
|
+
it 'should correctly handle a valid, unabbreviated command line' do
|
|
48
|
+
built = klass.build_for('help foo', :session => :the_session)
|
|
49
|
+
built.should be_instance_of(klass)
|
|
50
|
+
built.arguments.should == ['foo']
|
|
51
|
+
built.session.should == :the_session
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
it 'should correctly handle a valid, abbreviated command line' do
|
|
55
|
+
built = klass.build_for('hel', :session => :a_session)
|
|
56
|
+
built.should be_instance_of(klass)
|
|
57
|
+
built.arguments.should == []
|
|
58
|
+
built.session.should == :a_session
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
it 'should correctly handle a command line with a bad command' do
|
|
62
|
+
built = klass.build_for('x', :session => :another_session)
|
|
63
|
+
built.should == nil
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
require 'rspec'
|
|
2
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/history")
|
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/history_verbose")
|
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/reuse")
|
|
5
|
+
|
|
6
|
+
describe HTTY::CLI::Commands::History do
|
|
7
|
+
describe 'class' do
|
|
8
|
+
let :klass do
|
|
9
|
+
subject.class
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it 'should be an alias_for the expected command' do
|
|
13
|
+
klass.alias_for.should == nil
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'should have the expected aliases' do
|
|
17
|
+
klass.aliases.should == []
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'should belong to the expected category' do
|
|
21
|
+
klass.category.should == 'Navigation'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'should have the expected command_line' do
|
|
25
|
+
klass.command_line.should == 'history'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it 'should have the expected command_line_arguments' do
|
|
29
|
+
klass.command_line_arguments.should == nil
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it 'should have the expected help' do
|
|
33
|
+
klass.help.should == 'Displays previous request-response activity in ' +
|
|
34
|
+
'this session'
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it 'should have the expected help_extended' do
|
|
38
|
+
expected = <<-end_help_extended
|
|
39
|
+
Displays previous request-response activity in this session. Does not communicate with the host.
|
|
40
|
+
|
|
41
|
+
Only a summary of each request-response pair is shown; the contents of headers and bodies are hidden.
|
|
42
|
+
end_help_extended
|
|
43
|
+
klass.help_extended.should == expected.chomp
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it 'should have the expected see_also_commands' do
|
|
47
|
+
klass.see_also_commands.should == [HTTY::CLI::Commands::HistoryVerbose,
|
|
48
|
+
HTTY::CLI::Commands::Reuse]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
describe 'build_for' do
|
|
52
|
+
it 'should correctly handle a valid, unabbreviated command line' do
|
|
53
|
+
built = klass.build_for('history', :session => :the_session)
|
|
54
|
+
built.should be_instance_of(klass)
|
|
55
|
+
built.arguments.should == []
|
|
56
|
+
built.session.should == :the_session
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
it 'should correctly handle a command line with a bad command' do
|
|
60
|
+
built = klass.build_for('x', :session => :another_session)
|
|
61
|
+
built.should == nil
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
require 'rspec'
|
|
2
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/history")
|
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/history_verbose")
|
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/reuse")
|
|
5
|
+
|
|
6
|
+
describe HTTY::CLI::Commands::HistoryVerbose do
|
|
7
|
+
describe 'class' do
|
|
8
|
+
let :klass do
|
|
9
|
+
subject.class
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it 'should be an alias_for the expected command' do
|
|
13
|
+
klass.alias_for.should == nil
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'should have the expected aliases' do
|
|
17
|
+
klass.aliases.should == []
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'should belong to the expected category' do
|
|
21
|
+
klass.category.should == 'Navigation'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'should have the expected command_line' do
|
|
25
|
+
klass.command_line.should == 'history-[verbose]'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it 'should have the expected command_line_arguments' do
|
|
29
|
+
klass.command_line_arguments.should == nil
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it 'should have the expected help' do
|
|
33
|
+
klass.help.should == 'Displays the details of previous request-' +
|
|
34
|
+
'response activity in this session'
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it 'should have the expected help_extended' do
|
|
38
|
+
expected = <<-end_help_extended
|
|
39
|
+
Displays the details of previous request-response activity in this session. Does not communicate with the host.
|
|
40
|
+
|
|
41
|
+
All headers and body content of each request-response pair are shown.
|
|
42
|
+
end_help_extended
|
|
43
|
+
klass.help_extended.should == expected.chomp
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it 'should have the expected see_also_commands' do
|
|
47
|
+
klass.see_also_commands.should == [HTTY::CLI::Commands::History,
|
|
48
|
+
HTTY::CLI::Commands::Reuse]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
describe 'build_for' do
|
|
52
|
+
it 'should correctly handle a valid, unabbreviated command line' do
|
|
53
|
+
built = klass.build_for('history-verbose', :session => :the_session)
|
|
54
|
+
built.should be_instance_of(klass)
|
|
55
|
+
built.arguments.should == []
|
|
56
|
+
built.session.should == :the_session
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
it 'should correctly handle a valid, abbreviated command line' do
|
|
60
|
+
built = klass.build_for('history-', :session => :a_session)
|
|
61
|
+
built.should be_instance_of(klass)
|
|
62
|
+
built.arguments.should == []
|
|
63
|
+
built.session.should == :a_session
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
it 'should correctly handle a command line with a bad command' do
|
|
67
|
+
built = klass.build_for('x', :session => :another_session)
|
|
68
|
+
built.should == nil
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
require 'rspec'
|
|
2
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/address")
|
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/host_set")
|
|
4
|
+
|
|
5
|
+
describe HTTY::CLI::Commands::HostSet do
|
|
6
|
+
describe 'class' do
|
|
7
|
+
let :klass do
|
|
8
|
+
subject.class
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'should be an alias_for the expected command' do
|
|
12
|
+
klass.alias_for.should == nil
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 'should have the expected aliases' do
|
|
16
|
+
klass.aliases.should == []
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it 'should belong to the expected category' do
|
|
20
|
+
klass.category.should == 'Navigation'
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it 'should have the expected command_line' do
|
|
24
|
+
klass.command_line.should == 'ho[st-set]'
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it 'should have the expected command_line_arguments' do
|
|
28
|
+
klass.command_line_arguments.should == 'HOST'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it 'should have the expected help' do
|
|
32
|
+
klass.help.should == "Changes the host of the request's address"
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it 'should have the expected help_extended' do
|
|
36
|
+
expected = <<-end_help_extended
|
|
37
|
+
Changes the host used for the request. Does not communicate with the host.
|
|
38
|
+
|
|
39
|
+
The host you supply can be either a hostname (e.g., 'github.com') or an IP address (e.g., '127.0.0.1').
|
|
40
|
+
|
|
41
|
+
The console prompt shows the address for the current request.
|
|
42
|
+
end_help_extended
|
|
43
|
+
klass.help_extended.should == expected.chomp
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it 'should have the expected see_also_commands' do
|
|
47
|
+
klass.see_also_commands.should == [HTTY::CLI::Commands::Address]
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
describe 'build_for' do
|
|
51
|
+
it 'should correctly handle a valid, unabbreviated command line' do
|
|
52
|
+
built = klass.build_for('host-set foo', :session => :the_session)
|
|
53
|
+
built.should be_instance_of(klass)
|
|
54
|
+
built.arguments.should == ['foo']
|
|
55
|
+
built.session.should == :the_session
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
it 'should correctly handle a valid, abbreviated command line' do
|
|
59
|
+
built = klass.build_for('ho bar', :session => :a_session)
|
|
60
|
+
built.should be_instance_of(klass)
|
|
61
|
+
built.arguments.should == ['bar']
|
|
62
|
+
built.session.should == :a_session
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it 'should correctly handle a command line with a bad command' do
|
|
66
|
+
built = klass.build_for('x baz', :session => :another_session)
|
|
67
|
+
built.should == nil
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
require 'rspec'
|
|
2
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/http_delete")
|
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/http_get")
|
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/http_post")
|
|
5
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/http_put")
|
|
6
|
+
|
|
7
|
+
describe HTTY::CLI::Commands::HttpDelete do
|
|
8
|
+
describe 'class' do
|
|
9
|
+
let :klass do
|
|
10
|
+
subject.class
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it 'should be an alias_for the expected command' do
|
|
14
|
+
klass.alias_for.should == nil
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it 'should have the expected aliases' do
|
|
18
|
+
klass.aliases.should == [HTTY::CLI::Commands::Delete]
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'should belong to the expected category' do
|
|
22
|
+
klass.category.should == 'Issuing Requests'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it 'should have the expected command_line' do
|
|
26
|
+
klass.command_line.should == 'http-d[elete]'
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it 'should have the expected command_line_arguments' do
|
|
30
|
+
klass.command_line_arguments.should == nil
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 'should have the expected help' do
|
|
34
|
+
klass.help.should == 'Issues an HTTP DELETE using the current request'
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it 'should have the expected help_extended' do
|
|
38
|
+
expected = <<-end_help_extended
|
|
39
|
+
Issues an HTTP DELETE using the current request.
|
|
40
|
+
|
|
41
|
+
Any request body you may set is ignored (i.e., it is not sent as part of the request).
|
|
42
|
+
end_help_extended
|
|
43
|
+
klass.help_extended.should == expected.chomp
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it 'should have the expected see_also_commands' do
|
|
47
|
+
klass.see_also_commands.should == [HTTY::CLI::Commands::HttpGet,
|
|
48
|
+
HTTY::CLI::Commands::HttpPost,
|
|
49
|
+
HTTY::CLI::Commands::HttpPut]
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
describe 'build_for' do
|
|
53
|
+
it 'should correctly handle a valid, unabbreviated command line' do
|
|
54
|
+
built = klass.build_for('http-delete', :session => :the_session)
|
|
55
|
+
built.should be_instance_of(klass)
|
|
56
|
+
built.arguments.should == []
|
|
57
|
+
built.session.should == :the_session
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it 'should correctly handle a valid, abbreviated command line' do
|
|
61
|
+
built = klass.build_for('http-d', :session => :a_session)
|
|
62
|
+
built.should be_instance_of(klass)
|
|
63
|
+
built.arguments.should == []
|
|
64
|
+
built.session.should == :a_session
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
it 'should correctly handle a command line with a bad command' do
|
|
68
|
+
built = klass.build_for('x', :session => :another_session)
|
|
69
|
+
built.should == nil
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
require 'rspec'
|
|
2
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/follow")
|
|
3
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/http_delete")
|
|
4
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/http_get")
|
|
5
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/http_post")
|
|
6
|
+
require File.expand_path("#{File.dirname __FILE__}/../../../../../lib/htty/cli/commands/http_put")
|
|
7
|
+
|
|
8
|
+
describe HTTY::CLI::Commands::HttpGet do
|
|
9
|
+
describe 'class' do
|
|
10
|
+
let :klass do
|
|
11
|
+
subject.class
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it 'should be an alias_for the expected command' do
|
|
15
|
+
klass.alias_for.should == nil
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'should have the expected aliases' do
|
|
19
|
+
klass.aliases.should == [HTTY::CLI::Commands::Get]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it 'should belong to the expected category' do
|
|
23
|
+
klass.category.should == 'Issuing Requests'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it 'should have the expected command_line' do
|
|
27
|
+
klass.command_line.should == 'http-g[et]'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'should have the expected command_line_arguments' do
|
|
31
|
+
klass.command_line_arguments.should == nil
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it 'should have the expected help' do
|
|
35
|
+
klass.help.should == 'Issues an HTTP GET using the current request'
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it 'should have the expected help_extended' do
|
|
39
|
+
expected = <<-end_help_extended
|
|
40
|
+
Issues an HTTP GET using the current request.
|
|
41
|
+
|
|
42
|
+
Any request body you may set is ignored (i.e., it is not sent as part of the request).
|
|
43
|
+
end_help_extended
|
|
44
|
+
klass.help_extended.should == expected.chomp
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
it 'should have the expected see_also_commands' do
|
|
48
|
+
klass.see_also_commands.should == [HTTY::CLI::Commands::Follow,
|
|
49
|
+
HTTY::CLI::Commands::HttpPost,
|
|
50
|
+
HTTY::CLI::Commands::HttpPut,
|
|
51
|
+
HTTY::CLI::Commands::HttpDelete]
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
describe 'build_for' do
|
|
55
|
+
it 'should correctly handle a valid, unabbreviated command line' do
|
|
56
|
+
built = klass.build_for('http-get', :session => :the_session)
|
|
57
|
+
built.should be_instance_of(klass)
|
|
58
|
+
built.arguments.should == []
|
|
59
|
+
built.session.should == :the_session
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
it 'should correctly handle a valid, abbreviated command line' do
|
|
63
|
+
built = klass.build_for('http-g', :session => :a_session)
|
|
64
|
+
built.should be_instance_of(klass)
|
|
65
|
+
built.arguments.should == []
|
|
66
|
+
built.session.should == :a_session
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
it 'should correctly handle a command line with a bad command' do
|
|
70
|
+
built = klass.build_for('x', :session => :another_session)
|
|
71
|
+
built.should == nil
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|