summaryrefslogtreecommitdiff
path: root/spec/integration/knife/list_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/integration/knife/list_spec.rb')
-rw-r--r--spec/integration/knife/list_spec.rb213
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