This patch looks good. ACK Though wait on pushing as if just applied by itself will fail due to last_name and first_name not being present in the users table yet.
-Mo On 03/11/2010 05:28 PM, Jason Guiditta wrote: > Turns out that now that we have perms, we also seem to > need to make sure we have certain data preloaded before > tests run. Fixtures do this, factories do not (or at least > we don't know how yet). As a possibly interim step, I > have loaded up the data I know we need to run current tests. > > This may need more fleshing out in future, but seems to be > workable for now. > --- > src/spec/factories/user.rb | 10 ++-- > src/spec/fixtures/base_portal_objects.yml | 9 ++++ > src/spec/fixtures/hardware_profiles.yml | 72 > +++++++++++++++++++++++++++++ > src/spec/fixtures/images.yml | 12 +++++ > src/spec/fixtures/permissions.yml | 10 ++++ > src/spec/fixtures/privileges.yml | 39 +++++++++++++++ > src/spec/fixtures/providers.yml | 6 ++ > src/spec/fixtures/realms.yml | 10 ++++ > src/spec/fixtures/roles.yml | 47 +++++++++++++++++++ > src/spec/spec_helper.rb | 2 +- > 10 files changed, 211 insertions(+), 6 deletions(-) > create mode 100644 src/spec/fixtures/base_portal_objects.yml > create mode 100644 src/spec/fixtures/hardware_profiles.yml > create mode 100644 src/spec/fixtures/images.yml > create mode 100644 src/spec/fixtures/permissions.yml > create mode 100644 src/spec/fixtures/privileges.yml > create mode 100644 src/spec/fixtures/providers.yml > create mode 100644 src/spec/fixtures/realms.yml > create mode 100644 src/spec/fixtures/roles.yml > > diff --git a/src/spec/factories/user.rb b/src/spec/factories/user.rb > index 637600c..a88b6fe 100644 > --- a/src/spec/factories/user.rb > +++ b/src/spec/factories/user.rb > @@ -1,13 +1,13 @@ > Factory.define :user do |u| > u.login 'myuser' > - u.email '[email protected]' > + u.sequence(:email) { |n| "myuser#[email protected]" } > u.password 'secret' > - u.password_confirmation 'secret' > - #u.first_name 'John' > - #u.last_name 'Smith' > + u.password_confirmation {|p| p.password} > + u.first_name 'John' > + u.last_name 'Smith' > end > > Factory.define :tuser, :parent => :user do |u| > u.login 'tuser' > - u.email '[email protected]' > + u.sequence(:email) { |n| "tuser#[email protected]" } > end > diff --git a/src/spec/fixtures/base_portal_objects.yml > b/src/spec/fixtures/base_portal_objects.yml > new file mode 100644 > index 0000000..7e9b357 > --- /dev/null > +++ b/src/spec/fixtures/base_portal_objects.yml > @@ -0,0 +1,9 @@ > +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html > + > +# one: > +# column: value > +# > +# two: > +# column: value > +base_portal_object: > + name: general_permission_scope > \ No newline at end of file > diff --git a/src/spec/fixtures/hardware_profiles.yml > b/src/spec/fixtures/hardware_profiles.yml > new file mode 100644 > index 0000000..7bdd345 > --- /dev/null > +++ b/src/spec/fixtures/hardware_profiles.yml > @@ -0,0 +1,72 @@ > +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html > + > +m1_small_backend: > + external_key: m1-small > + name: m1-small > + memory: 1.7 > + storage: 160 > + architecture: i386 > + provider: mock_provider > +m1_large_backend: > + external_key: m1-large > + name: m1-large > + memory: 7.5 > + storage: 850 > + architecture: x86_64 > + provider: mock_provider > +m1_xlarge_backend: > + external_key: m1-xlarge > + name: m1-xlarge > + memory: 15 > + storage: 1690 > + architecture: x86_64 > + provider: mock_provider > +c1_medium_backend: > + external_key: c1-medium > + name: c1-medium > + memory: 1.7 > + storage: 350 > + architecture: x86_64 > + provider: mock_provider > +c1_xlarge_backend: > + external_key: c1-xlarge > + name: c1-xlarge > + memory: 7 > + storage: 1690 > + architecture: x86_64 > + provider: mock_provider > +m1_small_frontend: > + external_key: m1-small > + name: m1-small > + memory: 1.7 > + storage: 160 > + architecture: i386 > + provider_hardware_profiles: m1_small_backend > +m1_large_frontend: > + external_key: m1-large > + name: m1-large > + memory: 7.5 > + storage: 850 > + architecture: x86_64 > + provider_hardware_profiles: m1_large_backend > +m1_xlarge_frontend: > + external_key: m1-xlarge > + name: m1-xlarge > + memory: 15 > + storage: 1690 > + architecture: x86_64 > + provider_hardware_profiles: m1_xlarge_backend > +c1_medium_frontend: > + external_key: c1-medium > + name: c1-medium > + memory: 1.7 > + storage: 350 > + architecture: x86_64 > + provider_hardware_profiles: c1_medium_backend > +c1_xlarge_frontend: > + external_key: c1-xlarge > + name: c1-xlarge > + memory: 7 > + storage: 1690 > + architecture: x86_64 > + provider_hardware_profiles: c1_xlarge_backend > diff --git a/src/spec/fixtures/images.yml b/src/spec/fixtures/images.yml > new file mode 100644 > index 0000000..bfa6bba > --- /dev/null > +++ b/src/spec/fixtures/images.yml > @@ -0,0 +1,12 @@ > +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html > + > +fedora_13_image_backend: > + external_key: fedora_13 > + name: fedora_13 > + architecture: x86_64 > + provider: mock_provider > +fedora_13_image_frontend: > + external_key: fedora_13 > + name: fedora_13 > + architecture: x86_64 > + provider_images: fedora_13_image_backend > diff --git a/src/spec/fixtures/permissions.yml > b/src/spec/fixtures/permissions.yml > new file mode 100644 > index 0000000..b2d7bdd > --- /dev/null > +++ b/src/spec/fixtures/permissions.yml > @@ -0,0 +1,10 @@ > +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html > + > +admin_permission: > + role: site_administrator > + user: test_admin > + permission_object: base_portal_object (BasePortalObject) > +user_permission: > + role: instance_creator_and_user > + user: test_user > + permission_object: test_pool (PortalPool) > diff --git a/src/spec/fixtures/privileges.yml > b/src/spec/fixtures/privileges.yml > new file mode 100644 > index 0000000..d1f44ab > --- /dev/null > +++ b/src/spec/fixtures/privileges.yml > @@ -0,0 +1,39 @@ > +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html > + > +# one: > +# column: value > +# > +# two: > +# column: value > +set_perms: > + name: set_perms > +view_perms: > + name: view_perms > +instance_modify: > + name: instance_modify > +instance_control: > + name: instance_control > +instance_view: > + name: instance_view > +stats_view: > + name: stats_view > +account_modify: > + name: account_modify > +account_view: > + name: account_view > +pool_modify: > + name: pool_modify > +pool_view: > + name: pool_view > +quota_modify: > + name: quota_modify > +quota_view: > + name: quota_view > +provider_modify: > + name: provider_modify > +provider_view: > + name: provider_view > +user_modify: > + name: user_modify > +user_view: > + name: user_view > diff --git a/src/spec/fixtures/providers.yml b/src/spec/fixtures/providers.yml > new file mode 100644 > index 0000000..1669919 > --- /dev/null > +++ b/src/spec/fixtures/providers.yml > @@ -0,0 +1,6 @@ > +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html > + > +mock_provider: > + name: mock > + cloud_type: Mock > + url: http://localhost:3001/api > diff --git a/src/spec/fixtures/realms.yml b/src/spec/fixtures/realms.yml > new file mode 100644 > index 0000000..6259f6c > --- /dev/null > +++ b/src/spec/fixtures/realms.yml > @@ -0,0 +1,10 @@ > +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html > + > +us_realm: > + external_key: us > + name: United States > + provider: mock_provider > +eu_realm: > + external_key: eu > + name: Europe > + provider: mock_provider > diff --git a/src/spec/fixtures/roles.yml b/src/spec/fixtures/roles.yml > new file mode 100644 > index 0000000..2ac7e5f > --- /dev/null > +++ b/src/spec/fixtures/roles.yml > @@ -0,0 +1,47 @@ > +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html > + > +# one: > +# column: value > +# > +# two: > +# column: value > +instance_controller: > + name: Instance Controller > + scope: PortalPool > + privileges: instance_control, instance_view, pool_view > +instance_controller_with_monitoring: > + name: Instance Controller With Monitoring > + scope: PortalPool > + privileges: instance_control, instance_view, pool_view, stats_view > +instance_creator_and_user: > + name: Instance Creator and User > + scope: PortalPool > + privileges: instance_control, instance_view, pool_view, stats_view, > instance_modify, quota_view, set_perms, view_perms > +self_service_pool_user: > + name: Self-service Pool User > + scope: PortalPool > + privileges: instance_control, instance_view, pool_view, stats_view, > instance_modify, quota_view, set_perms, view_perms, account_modify > +pool_creator: > + name: Pool Creator > + scope: Provider > + privileges: provider_view, pool_modify, pool_view, quota_view > +pool_administrator: > + name: Pool Administrator > + scope: Provider > + privileges: provider_view, pool_modify, pool_view, quota_modify, > quota_view, account_modify, account_view, stats_view, set_perms, view_perms > +account_administrator: > + name: Account Administrator > + scope: CloudAccount > + privileges: account_modify, account_view, stats_view, set_perms, view_perms > +account_user: > + name: Account User > + scope: CloudAccount > + privileges: account_view > +provider_administrator: > + name: Provider Administrator > + scope: BasePortalObject > + privileges: provider_modify, provider_view, stats_view > +site_administrator: > + name: Site Administrator > + scope: BasePortalObject > + privileges: provider_modify, provider_view, account_modify, account_view, > user_modify, user_view, set_perms, view_perms, pool_modify, pool_view, > quota_modify, quota_view, stats_view, instance_modify, instance_control, > instance_view > diff --git a/src/spec/spec_helper.rb b/src/spec/spec_helper.rb > index 5181389..87a4609 100644 > --- a/src/spec/spec_helper.rb > +++ b/src/spec/spec_helper.rb > @@ -31,7 +31,7 @@ Spec::Runner.configure do |config| > # do so right here. Just uncomment the next line and replace the fixture > # names with your fixtures. > # > - # config.global_fixtures = :table_a, :table_b > + config.global_fixtures = :all > # > # If you declare global fixtures, be aware that they will be declared > # for all of your examples, even those that don't use them. > _______________________________________________ deltacloud-devel mailing list [email protected] https://fedorahosted.org/mailman/listinfo/deltacloud-devel
