diff options
Diffstat (limited to 'spec/integration/knife/list_spec.rb')
-rw-r--r-- | spec/integration/knife/list_spec.rb | 213 |
1 files changed, 179 insertions, 34 deletions
diff --git a/spec/integration/knife/list_spec.rb b/spec/integration/knife/list_spec.rb index b289642c7d..eb2ed279e5 100644 --- a/spec/integration/knife/list_spec.rb +++ b/spec/integration/knife/list_spec.rb @@ -27,7 +27,7 @@ describe 'knife list', :workstation do when_the_chef_server "is empty" do it "knife list / returns all top level directories" do - knife('list /').should_succeed <<EOM + knife('list /').should_succeed <<-EOM /clients /cookbooks /data_bags @@ -39,7 +39,7 @@ EOM end it "knife list -R / returns everything" do - knife('list -R /').should_succeed <<EOM + knife('list -R /').should_succeed <<-EOM /: clients cookbooks @@ -82,6 +82,9 @@ EOM environment 'environment2', {} node 'node1', {} node 'node2', {} + policy 'policy1', '1.2.3', {} + policy 'policy2', '1.2.3', {} + policy 'policy2', '1.3.5', {} role 'role1', {} role 'role2', {} user 'user1', {} @@ -89,7 +92,7 @@ EOM end it "knife list / returns all top level directories" do - knife('list /').should_succeed <<EOM + knife('list /').should_succeed <<-EOM /clients /cookbooks /data_bags @@ -101,7 +104,7 @@ EOM end it "knife list -R / returns everything" do - knife('list -R /').should_succeed <<EOM + knife('list -R /').should_succeed <<-EOM /: clients cookbooks @@ -164,7 +167,7 @@ EOM end it "knife list -R --flat / returns everything" do - knife('list -R --flat /').should_succeed <<EOM + knife('list -R --flat /').should_succeed <<-EOM /clients /clients/chef-validator.json /clients/chef-webui.json @@ -202,7 +205,7 @@ EOM end it "knife list -Rfp / returns everything" do - knife('list -Rfp /').should_succeed <<EOM + knife('list -Rfp /').should_succeed <<-EOM /clients/ /clients/chef-validator.json /clients/chef-webui.json @@ -240,7 +243,7 @@ EOM end it "knife list /cookbooks returns the list of cookbooks" do - knife('list /cookbooks').should_succeed <<EOM + knife('list /cookbooks').should_succeed <<-EOM /cookbooks/cookbook1 /cookbooks/cookbook2 EOM @@ -251,7 +254,7 @@ EOM end it "knife list /**.rb returns all ruby files" do - knife('list /**.rb').should_succeed <<EOM + knife('list /**.rb').should_succeed <<-EOM /cookbooks/cookbook1/metadata.rb /cookbooks/cookbook2/metadata.rb /cookbooks/cookbook2/recipes/default.rb @@ -259,7 +262,7 @@ EOM end it "knife list /cookbooks/**.rb returns all ruby files" do - knife('list /cookbooks/**.rb').should_succeed <<EOM + knife('list /cookbooks/**.rb').should_succeed <<-EOM /cookbooks/cookbook1/metadata.rb /cookbooks/cookbook2/metadata.rb /cookbooks/cookbook2/recipes/default.rb @@ -267,7 +270,7 @@ EOM end it "knife list /**.json returns all json files" do - knife('list /**.json').should_succeed <<EOM + knife('list /**.json').should_succeed <<-EOM /clients/chef-validator.json /clients/chef-webui.json /clients/client1.json @@ -290,7 +293,7 @@ EOM end it "knife list /data**.json returns all data bag json files" do - knife('list /data**.json').should_succeed <<EOM + knife('list /data**.json').should_succeed <<-EOM /data_bags/bag1/item1.json /data_bags/bag1/item2.json /data_bags/bag2/item1.json @@ -322,7 +325,7 @@ EOM before { cwd '.' } it "knife list -Rfp returns everything" do - knife('list -Rfp').should_succeed <<EOM + knife('list -Rfp').should_succeed <<-EOM clients/ clients/chef-validator.json clients/chef-webui.json @@ -367,7 +370,7 @@ EOM before { cwd 'cookbooks' } it "knife list -Rfp / returns everything" do - knife('list -Rfp /').should_succeed <<EOM + knife('list -Rfp /').should_succeed <<-EOM /clients/ /clients/chef-validator.json /clients/chef-webui.json @@ -405,7 +408,7 @@ EOM end it "knife list -Rfp .. returns everything" do - knife('list -Rfp ..').should_succeed <<EOM + knife('list -Rfp ..').should_succeed <<-EOM /clients/ /clients/chef-validator.json /clients/chef-webui.json @@ -443,7 +446,7 @@ EOM end it "knife list -Rfp returns cookbooks" do - knife('list -Rfp').should_succeed <<EOM + knife('list -Rfp').should_succeed <<-EOM cookbook1/ cookbook1/metadata.rb cookbook2/ @@ -462,7 +465,7 @@ EOM before { cwd 'cookbooks/cookbook2' } it "knife list -Rfp returns cookbooks" do - knife('list -Rfp').should_succeed <<EOM + knife('list -Rfp').should_succeed <<-EOM metadata.rb recipes/ recipes/default.rb @@ -481,7 +484,7 @@ EOM before { cwd 'cookbooks' } it "knife list -Rfp returns cookbooks" do - knife('list -Rfp').should_succeed <<EOM + knife('list -Rfp').should_succeed <<-EOM cookbook1/ cookbook1/metadata.rb cookbook2/ @@ -496,7 +499,7 @@ EOM before { cwd 'symlinked' } it "knife list -Rfp returns cookbooks" do - knife('list -Rfp').should_succeed <<EOM + knife('list -Rfp').should_succeed <<-EOM cookbook1/ cookbook1/metadata.rb cookbook2/ @@ -518,7 +521,7 @@ EOM before { cwd 'real_cookbooks' } it "knife list -Rfp returns cookbooks" do - knife('list -Rfp').should_succeed <<EOM + knife('list -Rfp').should_succeed <<-EOM cookbook1/ cookbook1/metadata.rb cookbook2/ @@ -533,7 +536,7 @@ EOM before { cwd 'cookbooks' } it "knife list -Rfp returns cookbooks" do - knife('list -Rfp').should_succeed <<EOM + knife('list -Rfp').should_succeed <<-EOM cookbook1/ cookbook1/metadata.rb cookbook2/ @@ -586,6 +589,7 @@ EOM file 'environments/environment2.json', {} file 'nodes/node1.json', {} file 'nodes/node2.json', {} + file 'roles/role1.json', {} file 'roles/role2.json', {} file 'users/user1.json', {} @@ -593,7 +597,7 @@ EOM end it "knife list -Rfp / returns everything" do - knife('list -Rp --local --flat /').should_succeed <<EOM + knife('list -Rp --local --flat /').should_succeed <<-EOM /clients/ /clients/client1.json /clients/client2.json @@ -653,7 +657,7 @@ EOM context 'and is empty' do it "knife list / returns all top level directories" do - knife('list /').should_succeed <<EOM + knife('list /').should_succeed <<-EOM /acls /clients /containers @@ -665,12 +669,14 @@ EOM /members.json /nodes /org.json +/policies +/policy_groups /roles EOM end it "knife list -R / returns everything" do - knife('list -R /').should_succeed <<EOM + knife('list -R /').should_succeed <<-EOM /: acls clients @@ -683,6 +689,8 @@ invitations.json members.json nodes org.json +policies +policy_groups roles /acls: @@ -760,23 +768,17 @@ users.json /nodes: +/policies: + +/policy_groups: + /roles: EOM end end - end - - when_the_chef_server "is in Enterprise mode", :osc_compat => false, :single_org => false do - before do - organization 'foo' - end - - before :each do - Chef::Config.chef_server_url = URI.join(Chef::Config.chef_server_url, '/organizations/foo') - end it 'knife list -R / returns everything' do - knife('list -R /').should_succeed <<EOM + knife('list -R /').should_succeed <<-EOM /: acls clients @@ -789,6 +791,8 @@ invitations.json members.json nodes org.json +policies +policy_groups roles /acls: @@ -866,8 +870,149 @@ users.json /nodes: +/policies: + +/policy_groups: + /roles: EOM end + + context "has plenty of stuff in it" do + before do + client 'client1', {} + client 'client2', {} + container 'container1', {} + container 'container2', {} + cookbook 'cookbook1', '1.0.0' + cookbook 'cookbook2', '1.0.1', { 'recipes' => { 'default.rb' => '' } } + data_bag 'bag1', { 'item1' => {}, 'item2' => {} } + data_bag 'bag2', { 'item1' => {}, 'item2' => {} } + environment 'environment1', {} + environment 'environment2', {} + group 'group1', {} + group 'group2', {} + node 'node1', {} + node 'node2', {} + org_invite 'user1' + org_member 'user2' + policy 'policy1', '1.2.3', {} + policy 'policy2', '1.2.3', {} + policy 'policy2', '1.3.5', {} + policy_group 'policy_group1', { 'policies' => { 'policy1' => { 'revision_id' => '1.2.3' } } } + policy_group 'policy_group2', { 'policies' => { 'policy2' => { 'revision_id' => '1.3.5' } } } + role 'role1', {} + role 'role2', {} + user 'user1', {} + user 'user2', {} + end + + it "knife list -Rfp / returns everything" do + knife('list -Rfp /').should_succeed <<-EOM +/acls/ +/acls/clients/ +/acls/clients/client1.json +/acls/clients/client2.json +/acls/clients/foo-validator.json +/acls/containers/ +/acls/containers/clients.json +/acls/containers/container1.json +/acls/containers/container2.json +/acls/containers/containers.json +/acls/containers/cookbook_artifacts.json +/acls/containers/cookbooks.json +/acls/containers/data.json +/acls/containers/environments.json +/acls/containers/groups.json +/acls/containers/nodes.json +/acls/containers/policies.json +/acls/containers/roles.json +/acls/containers/sandboxes.json +/acls/cookbooks/ +/acls/cookbooks/cookbook1.json +/acls/cookbooks/cookbook2.json +/acls/data_bags/ +/acls/data_bags/bag1.json +/acls/data_bags/bag2.json +/acls/environments/ +/acls/environments/_default.json +/acls/environments/environment1.json +/acls/environments/environment2.json +/acls/groups/ +/acls/groups/admins.json +/acls/groups/billing-admins.json +/acls/groups/clients.json +/acls/groups/group1.json +/acls/groups/group2.json +/acls/groups/users.json +/acls/nodes/ +/acls/nodes/node1.json +/acls/nodes/node2.json +/acls/organization.json +/acls/roles/ +/acls/roles/role1.json +/acls/roles/role2.json +/clients/ +/clients/client1.json +/clients/client2.json +/clients/foo-validator.json +/containers/ +/containers/clients.json +/containers/container1.json +/containers/container2.json +/containers/containers.json +/containers/cookbook_artifacts.json +/containers/cookbooks.json +/containers/data.json +/containers/environments.json +/containers/groups.json +/containers/nodes.json +/containers/policies.json +/containers/roles.json +/containers/sandboxes.json +/cookbooks/ +/cookbooks/cookbook1/ +/cookbooks/cookbook1/metadata.rb +/cookbooks/cookbook2/ +/cookbooks/cookbook2/metadata.rb +/cookbooks/cookbook2/recipes/ +/cookbooks/cookbook2/recipes/default.rb +/data_bags/ +/data_bags/bag1/ +/data_bags/bag1/item1.json +/data_bags/bag1/item2.json +/data_bags/bag2/ +/data_bags/bag2/item1.json +/data_bags/bag2/item2.json +/environments/ +/environments/_default.json +/environments/environment1.json +/environments/environment2.json +/groups/ +/groups/admins.json +/groups/billing-admins.json +/groups/clients.json +/groups/group1.json +/groups/group2.json +/groups/users.json +/invitations.json +/members.json +/nodes/ +/nodes/node1.json +/nodes/node2.json +/org.json +/policies/ +/policies/policy1-1.2.3.json +/policies/policy2-1.2.3.json +/policies/policy2-1.3.5.json +/policy_groups/ +/policy_groups/policy_group1.json +/policy_groups/policy_group2.json +/roles/ +/roles/role1.json +/roles/role2.json +EOM + end + end end end |