chef_fixie 0.1.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +5 -5
  2. data/bin/chef_fixie +2 -2
  3. data/doc/AccessingSQL.md +33 -1
  4. data/doc/BulkFixup.md +33 -0
  5. data/doc/CommonTasks.md +14 -3
  6. data/lib/chef_fixie.rb +7 -6
  7. data/lib/chef_fixie/authz_mapper.rb +26 -28
  8. data/lib/chef_fixie/authz_objects.rb +51 -41
  9. data/lib/chef_fixie/bulk_edit_permissions.rb +161 -0
  10. data/lib/chef_fixie/check_org_associations.rb +56 -59
  11. data/lib/chef_fixie/config.rb +58 -23
  12. data/lib/chef_fixie/console.rb +17 -12
  13. data/lib/chef_fixie/context.rb +2 -4
  14. data/lib/chef_fixie/sql.rb +12 -12
  15. data/lib/chef_fixie/sql_objects.rb +107 -31
  16. data/lib/chef_fixie/utility_helpers.rb +13 -9
  17. data/lib/chef_fixie/version.rb +1 -1
  18. data/spec/chef_fixie/acl_spec.rb +23 -25
  19. data/spec/chef_fixie/assoc_invite_spec.rb +5 -8
  20. data/spec/chef_fixie/check_org_associations_spec.rb +14 -17
  21. data/spec/chef_fixie/groups_spec.rb +7 -11
  22. data/spec/chef_fixie/org_spec.rb +4 -5
  23. data/spec/chef_fixie/orgs_spec.rb +6 -9
  24. data/spec/spec_helper.rb +5 -6
  25. metadata +13 -49
  26. data/bin/bundler +0 -16
  27. data/bin/chef-apply +0 -16
  28. data/bin/chef-client +0 -16
  29. data/bin/chef-shell +0 -16
  30. data/bin/chef-solo +0 -16
  31. data/bin/chef-zero +0 -16
  32. data/bin/coderay +0 -16
  33. data/bin/edit_json.rb +0 -16
  34. data/bin/erubis +0 -16
  35. data/bin/ffi-yajl-bench +0 -16
  36. data/bin/fixie~ +0 -231
  37. data/bin/htmldiff +0 -16
  38. data/bin/knife +0 -16
  39. data/bin/ldiff +0 -16
  40. data/bin/net-dhcp +0 -16
  41. data/bin/ohai +0 -16
  42. data/bin/prettify_json.rb +0 -16
  43. data/bin/pry +0 -16
  44. data/bin/rackup +0 -16
  45. data/bin/rake +0 -16
  46. data/bin/rdoc +0 -16
  47. data/bin/restclient +0 -16
  48. data/bin/ri +0 -16
  49. data/bin/rspec +0 -16
  50. data/bin/s3sh +0 -16
  51. data/bin/sequel +0 -16
  52. data/bin/serverspec-init +0 -16
  53. data/doc/AccessingSQL.md~ +0 -32
  54. data/doc/BulkFixup.md~ +0 -28
  55. data/doc/CommonTasks.md~ +0 -0
  56. data/doc/GETTING_STARTED.md~ +0 -6
  57. data/spec/chef_fixie/assoc_invite_spec.rb~ +0 -26
  58. data/spec/chef_fixie/check_org_associations_spec.rb~ +0 -34
  59. data/spec/chef_fixie/org_spec.rb~ +0 -53
data/bin/ldiff DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'ldiff' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('diff-lcs', 'ldiff')
data/bin/net-dhcp DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'net-dhcp' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('net-dhcp', 'net-dhcp')
data/bin/ohai DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'ohai' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('ohai', 'ohai')
data/bin/prettify_json.rb DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'prettify_json.rb' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('json', 'prettify_json.rb')
data/bin/pry DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'pry' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('pry', 'pry')
data/bin/rackup DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'rackup' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('rack', 'rackup')
data/bin/rake DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'rake' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('rake', 'rake')
data/bin/rdoc DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'rdoc' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('rdoc', 'rdoc')
data/bin/restclient DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'restclient' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('rest-client', 'restclient')
data/bin/ri DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'ri' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('rdoc', 'ri')
data/bin/rspec DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'rspec' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('rspec-core', 'rspec')
data/bin/s3sh DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 's3sh' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('aws-s3', 's3sh')
data/bin/sequel DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'sequel' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('sequel', 'sequel')
data/bin/serverspec-init DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # This file was generated by Bundler.
4
- #
5
- # The application 'serverspec-init' is installed as part of a gem, and
6
- # this file is here to facilitate running it.
7
- #
8
-
9
- require 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
12
-
13
- require 'rubygems'
14
- require 'bundler/setup'
15
-
16
- load Gem.bin_path('serverspec', 'serverspec-init')
data/doc/AccessingSQL.md~ DELETED
@@ -1,32 +0,0 @@
1
-
2
- Basics:
3
- -------
4
-
5
- Underneath everything is the Ruby Sequel library; there are a number
6
- of ways to access it.
7
-
8
-
9
-
10
- fixie:0 > o.groups.by_name(cl.id).inner.count
11
- 1
12
- fixie:0 > o.groups.by_name(cl.id).inner.delete
13
- 1
14
- fixie:0 > o.groups.by_name(cl.id).inner.count
15
-
16
-
17
- * Changing email for user in fixie
18
-
19
- USERS.by_username('anujbiyani').inner.update(:email=>"anujbiyani01@gmail.com")
20
-
21
-
22
-
23
- * Adding a record
24
- ```ruby
25
- u=USERS['a_username']
26
- o=ORGS['an_org']
27
-
28
- pivotal = USERS['pivotal']
29
-
30
- ASSOCS.inner.insert(:org_id=>o.id, :user_id=>u.id, :last_updated_by=>pivotal.authz_id,
31
- :created_at=>:NOW.sql_function, :updated_at=>:NOW.sql_function) )
32
- ```
data/doc/BulkFixup.md~ DELETED
@@ -1,28 +0,0 @@
1
- Restoring acl permissions globally
2
- ============
3
-
4
-
5
-
6
-
7
- * If a key group is deleted (such as users)
8
-
9
- Create/restore the group
10
-
11
- Add the users/groups back to the group
12
-
13
- Set the group ACL appropriately
14
-
15
- Restore users to the appropriate container ACLs
16
- ```ruby
17
- o = ORGS[THE_ORG]
18
- cl = %w(cookbooks data nodes roles environments policies policy_groups cookbook_artifacts)
19
- cl.each {|c| o.containers[c].ace_add([:create,:read,:update,:delete], o.groups['users']) }
20
- %w(clients).each { |c| o.containers[c].ace_add([:read,:delete], o.groups['users']) }
21
- %w(groups containers).each { |c| o.containers[c].ace_add([:read], o.groups['users']) }
22
- %w(sandboxes).each { |c| o.containers[c].ace_add([:create], o.groups['users']) }
23
- ```
24
-
25
- Then update the objects from the containers:
26
- ```ruby
27
- Fixie::BulkEditPermissions::copy_from_containers(o)
28
- ```
data/doc/CommonTasks.md~ DELETED
File without changes
@@ -1,6 +0,0 @@
1
-
2
- Installing fixie
3
- -------
4
-
5
- Configuring fixie
6
- -------
@@ -1,26 +0,0 @@
1
-
2
- require 'rspec'
3
- require "spec_helper"
4
- require 'fixie'
5
- require 'fixie/config'
6
-
7
- RSpec.describe Fixie::Sql::Orgs, "Organizations access" do
8
- let (:test_org_name) { "ponyville" }
9
- let (:orgs) { Fixie::Sql::Orgs.new }
10
- let (:test_org) { orgs[test_org_name]}
11
-
12
- context "Basic functionality of org accessor" do
13
-
14
- it "Org has a name and id" do
15
- expect(test_org.name).to eq(test_org_name)
16
- expect(test_org.id).not_to be_nil
17
- end
18
-
19
- it "Org has a global admins group" do
20
- expect(test_org.global_admins.name).to eq(test_org_name + "_global_admins")
21
- end
22
-
23
- end
24
-
25
-
26
- end
@@ -1,34 +0,0 @@
1
-
2
- require 'rspec'
3
- require "spec_helper"
4
- require 'fixie'
5
- require 'fixie/config'
6
-
7
- RSpec.describe Fixie::Sql::Groups, "Group access" do
8
- let (:test_org_name) { "ponyville"}
9
- let (:orgs) { Fixie::Sql::Orgs.new }
10
- let (:users) { Fixie::Sql::Users.new }
11
- let (:test_org) { orgs[test_org_name] }
12
-
13
- # TODO this should use a freshly created object and purge it afterwords.
14
- # But we need to write the create object feature still
15
-
16
- context "Groups" do
17
- let (:testgroup) { test_org.groups['admins'] }
18
- let (:adminuser) { users['rainbowdash'] }
19
- let (:notadminuser) { users['mary'] }
20
-
21
- it "Members are part of the group" do
22
- expect(testgroup.member?(adminuser)).to be true
23
- end
24
- it "Members are not part of the group" do
25
- expect(testgroup.member?(notadminuser)).to be false
26
- end
27
-
28
-
29
- end
30
-
31
-
32
-
33
-
34
- end
@@ -1,53 +0,0 @@
1
-
2
- require 'rspec'
3
- require "spec_helper"
4
- require 'fixie'
5
- require 'fixie/config'
6
-
7
- RSpec.describe Fixie::Sql::Orgs, "Organizations access" do
8
- let (:test_org) { "ponyville"}
9
-
10
- context "Basic access to orgs" do
11
- let (:orgs) { Fixie::Sql::Orgs.new }
12
- it "We find more than one org" do
13
- expect(orgs.inner.count).to be > 0
14
- end
15
-
16
- it "We can list orgs" do
17
- # array matcher requires a splat. (I didn't know this )
18
- expect(orgs.list).to include( * %w(acme ponyville wonderbolts) )
19
- end
20
- it "We can list orgs with a limit" do
21
- # array matcher requires a splat. (I didn't know this )
22
- expect(orgs.list(1)).to eq(:too_many_results)
23
- end
24
-
25
- it "We can find an org" do
26
- expect(orgs[test_org].name).to eq(test_org)
27
- end
28
-
29
- end
30
-
31
- context "Search accessors work correctly" do
32
- let (:orgs) { Fixie::Sql::Orgs.new }
33
- let (:the_org) { orgs[test_org] }
34
-
35
- it "We can find an org by name" do
36
- expect(orgs.by_name(test_org).all.count).to eq(1)
37
- expect(orgs.by_name(test_org).all.first.name).to eq(the_org.name)
38
- end
39
-
40
- # TODO: Automatically extract this from the filter by field
41
- %w(name, id, full_name, authz_id).each do |accessor|
42
- it "We can access an org by #{accessor}" do
43
- expect(orgs.by_name(test_org).all.count).to eq(1)
44
- expect(orgs.by_name(test_org).all.first.name).to eq(the_org.name)
45
- end
46
- end
47
-
48
- end
49
-
50
-
51
-
52
-
53
- end