testlink-api-client 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +15 -0
- data/README.rdoc +14 -0
- data/features/create_test_suite.feature +90 -0
- data/features/get_first_level_test_suites_for_test_project.feature +25 -0
- data/features/get_projects.feature +47 -0
- data/features/get_test_suite_by_id.feature +24 -0
- data/features/get_test_suites_for_test_suite.feature +33 -0
- data/features/step_definitions/common.rb +69 -0
- data/features/step_definitions/create_test_suite.rb +14 -0
- data/features/step_definitions/get_first_level_test_suites_for_test_project.rb +14 -0
- data/features/step_definitions/get_projects.rb +56 -0
- data/features/support/db/one_project.sql +1311 -0
- data/features/support/db/some_testsuites.sql +1312 -0
- data/features/support/env.rb +32 -0
- data/features/support/test_link_test_module.rb +32 -0
- data/lib/test_link.rb +22 -0
- data/lib/test_link/adapters.rb +24 -0
- data/lib/test_link/adapters/base.rb +35 -0
- data/lib/test_link/adapters/node_adapter.rb +47 -0
- data/lib/test_link/adapters/project_adapter.rb +32 -0
- data/lib/test_link/adapters/status_adapter.rb +33 -0
- data/lib/test_link/api_link.rb +62 -0
- data/lib/test_link/command.rb +29 -0
- data/lib/test_link/command/argument.rb +31 -0
- data/lib/test_link/command/base.rb +63 -0
- data/lib/test_link/command/create_test_case.rb +40 -0
- data/lib/test_link/command/create_test_suite.rb +35 -0
- data/lib/test_link/command/definition.rb +45 -0
- data/lib/test_link/command/get_first_level_test_suites_for_test_project.rb +29 -0
- data/lib/test_link/command/get_projects.rb +26 -0
- data/lib/test_link/command/get_test_suite_by_id.rb +29 -0
- data/lib/test_link/command/get_test_suites_for_test_suite.rb +29 -0
- data/lib/test_link/exceptions.rb +23 -0
- data/lib/test_link/exceptions/command_failed_exception.rb +26 -0
- data/lib/test_link/exceptions/empty_response_exception.rb +26 -0
- data/lib/test_link/exceptions/error_response_exception.rb +28 -0
- data/lib/test_link/exceptions/exception.rb +21 -0
- data/lib/test_link/objects.rb +24 -0
- data/lib/test_link/objects/methods.rb +29 -0
- data/lib/test_link/objects/node.rb +25 -0
- data/lib/test_link/objects/project.rb +25 -0
- data/lib/test_link/objects/status.rb +25 -0
- data/lib/testlink-api-client.rb +16 -0
- data/spec/spec_helper.rb +39 -0
- data/spec/test_link/adapters/base_spec.rb +56 -0
- data/spec/test_link/adapters/node_adapter_spec.rb +102 -0
- data/spec/test_link/adapters/project_adapter_spec.rb +81 -0
- data/spec/test_link/adapters/status_adapter_spec.rb +51 -0
- data/spec/test_link/api_link_spec.rb +106 -0
- data/spec/test_link/command/argument_spec.rb +43 -0
- data/spec/test_link/command/base_spec.rb +94 -0
- data/spec/test_link/command/create_test_case_spec.rb +88 -0
- data/spec/test_link/command/create_test_suite_spec.rb +67 -0
- data/spec/test_link/command/get_first_level_test_suites_for_test_project_spec.rb +43 -0
- data/spec/test_link/command/get_projets_spec.rb +33 -0
- data/spec/test_link/command/get_test_suite_by_id_spec.rb +43 -0
- data/spec/test_link/command/get_test_suites_for_test_suite_spec.rb +43 -0
- data/spec/test_link/exceptions/command_failed_exception_spec.rb +28 -0
- data/spec/test_link/exceptions/empty_response_exception_spec.rb +28 -0
- data/spec/test_link/exceptions/error_response_exception_spec.rb +30 -0
- data/spec/test_link/objects/node_spec.rb +49 -0
- data/spec/test_link/objects/project_spec.rb +39 -0
- data/spec/test_link/objects/status_spec.rb +43 -0
- metadata +194 -0
@@ -0,0 +1,43 @@
|
|
1
|
+
# This file is part of testlink-api-client.
|
2
|
+
#
|
3
|
+
# testlink-api-client is free software: you can redistribute it and/or modify
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
6
|
+
# (at your option) any later version.
|
7
|
+
#
|
8
|
+
# testlink-api-client is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
11
|
+
# GNU General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU General Public License
|
14
|
+
# along with Foobar. If not, see <http://www.gnu.org/licenses/>.
|
15
|
+
|
16
|
+
require 'test_link/command/argument'
|
17
|
+
|
18
|
+
describe TestLink::Command::Argument do
|
19
|
+
|
20
|
+
before :each do
|
21
|
+
@argument = TestLink::Command::Argument.new
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'has a default value' do
|
25
|
+
@argument.should respond_to :default
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'may be mandatory' do
|
29
|
+
@argument.should respond_to :mandatory?
|
30
|
+
end
|
31
|
+
|
32
|
+
describe 'default state' do
|
33
|
+
describe 'default value' do
|
34
|
+
it 'is nil' do
|
35
|
+
@argument.default.should be_nil
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'is not mandatory' do
|
40
|
+
@argument.mandatory?.should be_false
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
# This file is part of testlink-api-client.
|
2
|
+
#
|
3
|
+
# testlink-api-client is free software: you can redistribute it and/or modify
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
6
|
+
# (at your option) any later version.
|
7
|
+
#
|
8
|
+
# testlink-api-client is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
11
|
+
# GNU General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU General Public License
|
14
|
+
# along with Foobar. If not, see <http://www.gnu.org/licenses/>.
|
15
|
+
|
16
|
+
require "test_link/command/base"
|
17
|
+
require "test_link/api_link"
|
18
|
+
|
19
|
+
describe TestLink::Command::Base do
|
20
|
+
before :each do
|
21
|
+
@command = TestLink::Command::Base.new
|
22
|
+
end
|
23
|
+
|
24
|
+
describe 'Arguments' do
|
25
|
+
it 'can be defined' do
|
26
|
+
TestLink::Command::Base.should respond_to :argument
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'has an argument list' do
|
30
|
+
TestLink::Command::Base.should respond_to :arguments
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'has dev_key mandatory argument' do
|
34
|
+
TestLink::Command::Base.arguments[:devKey].mandatory?.should be_true
|
35
|
+
@command.should provide :devKey
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe 'Classname' do
|
40
|
+
it 'helps to retrieve remote command name the first letter becomes lower case' do
|
41
|
+
TestLink::Command::Base.command_name.should == 'base'
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
describe 'Execution' do
|
46
|
+
before :each do
|
47
|
+
@key = '___dev-key___'
|
48
|
+
@link = TestLink::ApiLink.new 'http://qa.example.com/', @key
|
49
|
+
@link.client.stub!(:call)
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'calls a remote method' do
|
53
|
+
@link.client.should_receive(:call).with('tl.base', :devKey => @key)
|
54
|
+
@command.execute @link
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'sets a default developer key given by the link' do
|
58
|
+
@command.execute @link
|
59
|
+
@command.devKey.should == @key
|
60
|
+
@command.arguments_hash[:devKey].should == @key
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'overrides the link\'s key if it is defined' do
|
64
|
+
key = '___other-dev-key___'
|
65
|
+
@command.devKey = key
|
66
|
+
@command.execute @link
|
67
|
+
@command.devKey.should == key
|
68
|
+
@command.arguments_hash[:devKey].should == key
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'raise an ArgumentError when a mandatory is not set' do
|
72
|
+
@link.key = nil
|
73
|
+
expect { @command.execute @link }.to raise_exception ArgumentError, 'Missing mandatory argument(s) [:devKey]'
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
it 'allows to reset arguments to defined values' do
|
78
|
+
@command.reset_arguments_hash :devKey => (key = 'my_dev_key')
|
79
|
+
@command.devKey.should == key
|
80
|
+
@command.arguments_hash[:devKey].should == key
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'checks whether command can be executed' do
|
84
|
+
TestLink::Command::Base.new.check_arguments.should == [:devKey]
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'can add itself to TestLink::ApiLink' do
|
88
|
+
TestLink::Command::Base.should respond_to :remote_method
|
89
|
+
end
|
90
|
+
|
91
|
+
it 'defines it\'s adapter' do
|
92
|
+
TestLink::Command::Base.should respond_to :adapt_with
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# This file is part of testlink-api-client.
|
2
|
+
#
|
3
|
+
# testlink-api-client is free software: you can redistribute it and/or modify
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
6
|
+
# (at your option) any later version.
|
7
|
+
#
|
8
|
+
# testlink-api-client is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
11
|
+
# GNU General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU General Public License
|
14
|
+
# along with Foobar. If not, see <http://www.gnu.org/licenses/>.
|
15
|
+
|
16
|
+
require "test_link/command/create_test_case"
|
17
|
+
require "test_link/adapters/status_adapter"
|
18
|
+
|
19
|
+
describe TestLink::Command::CreateTestCase do
|
20
|
+
it "is a command" do
|
21
|
+
TestLink::Command::CreateTestCase.should < TestLink::Command::Base
|
22
|
+
end
|
23
|
+
|
24
|
+
it "adds a createTestSuite method to TestLink::ApiLink" do
|
25
|
+
TestLink::ApiLink.new('http://qa.example.com/', '').should respond_to :createTestCase
|
26
|
+
end
|
27
|
+
|
28
|
+
describe 'adapter' do
|
29
|
+
it 'is a TestLink::Adapters::StatusAdapter' do
|
30
|
+
TestLink::ApiLink.adapter_for(TestLink::Command::CreateTestCase.command_name).should be_instance_of TestLink::Adapters::StatusAdapter
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe 'arguments' do
|
35
|
+
before :each do
|
36
|
+
@command = TestLink::Command::CreateTestCase.new
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'contain mandatory testcasename' do
|
40
|
+
@command.should provide_mandatory_argument :testcasename
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'contain mandatory testsuiteid' do
|
44
|
+
@command.should provide_mandatory_argument :testsuiteid
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'contain mandatory testprojectid' do
|
48
|
+
@command.should provide_mandatory_argument :testprojectid
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'contain mandatory authorlogin' do
|
52
|
+
@command.should provide_mandatory_argument :authorlogin
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'contain mandatory summary' do
|
56
|
+
@command.should provide_mandatory_argument :summary
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'contain mandatory steps' do
|
60
|
+
@command.should provide_mandatory_argument :steps
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'contain preconditions' do
|
64
|
+
@command.should provide_argument :preconditions
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'contain importance' do
|
68
|
+
@command.should provide_argument :importance
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'contain execution' do
|
72
|
+
@command.should provide_argument :execution
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'contain order' do
|
76
|
+
@command.should provide_argument :order
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'contain checkduplicatedname' do
|
80
|
+
@command.should provide_argument :checkduplicatedname
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'contain actiononduplicatedname' do
|
84
|
+
@command.should provide_argument :actiononduplicatedname
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# This file is part of testlink-api-client.
|
2
|
+
#
|
3
|
+
# testlink-api-client is free software: you can redistribute it and/or modify
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
6
|
+
# (at your option) any later version.
|
7
|
+
#
|
8
|
+
# testlink-api-client is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
11
|
+
# GNU General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU General Public License
|
14
|
+
# along with Foobar. If not, see <http://www.gnu.org/licenses/>.
|
15
|
+
|
16
|
+
require "test_link/command/create_test_suite"
|
17
|
+
require "test_link/adapters/status_adapter"
|
18
|
+
|
19
|
+
describe TestLink::Command::CreateTestSuite do
|
20
|
+
it "is a command" do
|
21
|
+
(TestLink::Command::CreateTestSuite < TestLink::Command::Base).should be_true
|
22
|
+
end
|
23
|
+
|
24
|
+
it "adds a createTestSuite method to TestLink::ApiLink" do
|
25
|
+
TestLink::ApiLink.new('http://qa.example.com/', '').should respond_to :createTestSuite
|
26
|
+
end
|
27
|
+
|
28
|
+
describe 'adapter' do
|
29
|
+
it 'is a TestLink::Adapters::StatusAdapter' do
|
30
|
+
TestLink::ApiLink.adapter_for(TestLink::Command::CreateTestSuite.command_name).should be_instance_of TestLink::Adapters::StatusAdapter
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe 'arguments' do
|
35
|
+
before :each do
|
36
|
+
@command = TestLink::Command::CreateTestSuite.new
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'contain mandatory testprojectid' do
|
40
|
+
@command.should provide_mandatory_argument :testprojectid
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'contain mandatory testsuitename' do
|
44
|
+
@command.should provide_mandatory_argument :testsuitename
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'contain mandatory details' do
|
48
|
+
@command.should provide_mandatory_argument :details
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'contain checkduplicatedname' do
|
52
|
+
@command.should provide_argument :checkduplicatedname
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'contain actiononduplicatedname' do
|
56
|
+
@command.should provide_argument :actiononduplicatedname
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'contain parentid' do
|
60
|
+
@command.should provide_argument :parentid
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'contain order' do
|
64
|
+
@command.should provide_argument :order
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# This file is part of testlink-api-client.
|
2
|
+
#
|
3
|
+
# testlink-api-client is free software: you can redistribute it and/or modify
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
6
|
+
# (at your option) any later version.
|
7
|
+
#
|
8
|
+
# testlink-api-client is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
11
|
+
# GNU General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU General Public License
|
14
|
+
# along with Foobar. If not, see <http://www.gnu.org/licenses/>.
|
15
|
+
|
16
|
+
require 'test_link/command/get_first_level_test_suites_for_test_project'
|
17
|
+
require 'test_link/adapters/node_adapter'
|
18
|
+
|
19
|
+
describe TestLink::Command::GetFirstLevelTestSuitesForTestProject do
|
20
|
+
it "is a command" do
|
21
|
+
TestLink::Command::GetFirstLevelTestSuitesForTestProject.should < TestLink::Command::Base
|
22
|
+
end
|
23
|
+
|
24
|
+
it "adds a getFirstLevelTestSuitesForTestProject method to TestLink::ApiLink" do
|
25
|
+
TestLink::ApiLink.new('http://qa.example.com/', '').should respond_to :getFirstLevelTestSuitesForTestProject
|
26
|
+
end
|
27
|
+
|
28
|
+
describe 'adapter' do
|
29
|
+
it 'is a TestLink::Adapters::NodeAdapter' do
|
30
|
+
TestLink::ApiLink.adapter_for(TestLink::Command::GetFirstLevelTestSuitesForTestProject.command_name).should be_instance_of TestLink::Adapters::NodeAdapter
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe 'arguments' do
|
35
|
+
before :each do
|
36
|
+
@command = TestLink::Command::GetFirstLevelTestSuitesForTestProject.new
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'contain mandatory testprojectid' do
|
40
|
+
@command.should provide_mandatory_argument :testprojectid
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# This file is part of testlink-api-client.
|
2
|
+
#
|
3
|
+
# testlink-api-client is free software: you can redistribute it and/or modify
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
6
|
+
# (at your option) any later version.
|
7
|
+
#
|
8
|
+
# testlink-api-client is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
11
|
+
# GNU General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU General Public License
|
14
|
+
# along with Foobar. If not, see <http://www.gnu.org/licenses/>.
|
15
|
+
|
16
|
+
require "test_link/command/get_projects"
|
17
|
+
require "test_link/adapters/project_adapter"
|
18
|
+
|
19
|
+
describe TestLink::Command::GetProjects do
|
20
|
+
it "is a command" do
|
21
|
+
TestLink::Command::GetProjects.should < TestLink::Command::Base
|
22
|
+
end
|
23
|
+
|
24
|
+
it "adds a getProjects method to TestLink::ApiLink" do
|
25
|
+
TestLink::ApiLink.new('http://qa.example.com/', '').should respond_to :getProjects
|
26
|
+
end
|
27
|
+
|
28
|
+
describe 'adapter' do
|
29
|
+
it 'is a TestLink::Adapters::ProjectAdapter' do
|
30
|
+
TestLink::ApiLink.adapter_for(TestLink::Command::GetProjects.command_name).should be_instance_of TestLink::Adapters::ProjectAdapter
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# This file is part of testlink-api-client.
|
2
|
+
#
|
3
|
+
# testlink-api-client is free software: you can redistribute it and/or modify
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
6
|
+
# (at your option) any later version.
|
7
|
+
#
|
8
|
+
# testlink-api-client is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
11
|
+
# GNU General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU General Public License
|
14
|
+
# along with Foobar. If not, see <http://www.gnu.org/licenses/>.
|
15
|
+
|
16
|
+
require 'test_link/command/get_test_suite_by_id'
|
17
|
+
require 'test_link/adapters/node_adapter'
|
18
|
+
|
19
|
+
describe TestLink::Command::GetTestSuiteByID do
|
20
|
+
it "is a command" do
|
21
|
+
TestLink::Command::GetTestSuiteByID.should < TestLink::Command::Base
|
22
|
+
end
|
23
|
+
|
24
|
+
it "adds a getTestSuiteByID method to TestLink::ApiLink" do
|
25
|
+
TestLink::ApiLink.new('http://qa.example.com/', '').should respond_to :getTestSuiteByID
|
26
|
+
end
|
27
|
+
|
28
|
+
describe 'adapter' do
|
29
|
+
it 'is a TestLink::Adapters::NodeAdapter' do
|
30
|
+
TestLink::ApiLink.adapter_for(TestLink::Command::GetTestSuiteByID.command_name).should be_instance_of TestLink::Adapters::NodeAdapter
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe 'arguments' do
|
35
|
+
before :each do
|
36
|
+
@command = TestLink::Command::GetTestSuiteByID.new
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'contain mandatory testsuiteid' do
|
40
|
+
@command.should provide_mandatory_argument :testsuiteid
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# This file is part of testlink-api-client.
|
2
|
+
#
|
3
|
+
# testlink-api-client is free software: you can redistribute it and/or modify
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
5
|
+
# the Free Software Foundation, either version 3 of the License, or
|
6
|
+
# (at your option) any later version.
|
7
|
+
#
|
8
|
+
# testlink-api-client is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
11
|
+
# GNU General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU General Public License
|
14
|
+
# along with Foobar. If not, see <http://www.gnu.org/licenses/>.
|
15
|
+
|
16
|
+
require 'test_link/command/get_test_suites_for_test_suite'
|
17
|
+
require 'test_link/adapters/node_adapter'
|
18
|
+
|
19
|
+
describe TestLink::Command::GetTestSuitesForTestSuite do
|
20
|
+
it "is a command" do
|
21
|
+
TestLink::Command::GetTestSuitesForTestSuite.should < TestLink::Command::Base
|
22
|
+
end
|
23
|
+
|
24
|
+
it "adds a getTestSuitesForTestSuite method to TestLink::ApiLink" do
|
25
|
+
TestLink::ApiLink.new('http://qa.example.com/', '').should respond_to :getTestSuitesForTestSuite
|
26
|
+
end
|
27
|
+
|
28
|
+
describe 'adapter' do
|
29
|
+
it 'is a TestLink::Adapters::NodeAdapter' do
|
30
|
+
TestLink::ApiLink.adapter_for(TestLink::Command::GetTestSuitesForTestSuite.command_name).should be_instance_of TestLink::Adapters::NodeAdapter
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe 'arguments' do
|
35
|
+
before :each do
|
36
|
+
@command = TestLink::Command::GetTestSuitesForTestSuite.new
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'contain mandatory testsuiteid' do
|
40
|
+
@command.should provide_mandatory_argument :testsuiteid
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|