Project

General

Profile

« Previous | Next » 

Revision 9c0e127b

Added by Paul Kelly about 14 years ago

  • ID 9c0e127b1d42b7243403dd49d739cf8e97baa60b

Fixes #170 - implement usergroups

Added migration
Added tests
Added MVC files
Added the routes as well
Added the program logic and additional views
Added RESTful actions for update and create
Added validations to ensure that usergroup.name and user.login do not collide
Added "recipients" method to users and usergroups. This returns a list of addresses.
Usergroup#recipients will follow all nested usergroups avoiding any loops and
return only unique addresses

Fixes #73 - Add usergroup support to hosts

Fixes #244 - Remove ActiveScaffold from the usergroup pages

and finally - added owners to host edit page and other whitespaces and
mods by ohad

View differences:

test/functional/hostgroups_controller_test.rb
class HostgroupsControllerTest < ActionController::TestCase
def test_index
get :index
get :index, {}, set_session_user
assert_template 'index'
end
def test_new
get :new
get :new, {}, set_session_user
assert_template 'new'
end
def test_create_invalid
Hostgroup.any_instance.stubs(:valid?).returns(false)
post :create
post :create, {}, set_session_user
assert_template 'new'
end
def test_create_valid
Hostgroup.any_instance.stubs(:valid?).returns(true)
pc = Puppetclass.first
post :create, "hostgroup" => {"name"=>"test_it", "group_parameters_attributes"=>{"1272344174448"=>{"name"=>"x", "value"=>"y", "_destroy"=>""}}, "puppetclass_ids"=>["", pc.id.to_s]}
post :create, {"hostgroup" => {"name"=>"test_it", "group_parameters_attributes"=>{"1272344174448"=>{"name"=>"x", "value"=>"y", "_destroy"=>""}}, "puppetclass_ids"=>["", pc.id.to_s]}}, set_session_user
assert_redirected_to hostgroups_url
end
def test_edit
get :edit, :id => Hostgroup.first
get :edit, {:id => Hostgroup.first}, set_session_user
assert_template 'edit'
end
def test_update_invalid
Hostgroup.any_instance.stubs(:valid?).returns(false)
put :update, :id => Hostgroup.first
put :update, {:id => Hostgroup.first}, set_session_user
assert_template 'edit'
end
def test_update_valid
Hostgroup.any_instance.stubs(:valid?).returns(true)
put :update, :id => Hostgroup.first
put :update, {:id => Hostgroup.first}, set_session_user
assert_redirected_to hostgroups_url
end
def test_destroy
hostgroup = Hostgroup.first
delete :destroy, :id => hostgroup
delete :destroy, {:id => hostgroup}, set_session_user
assert_redirected_to hostgroups_url
assert !Hostgroup.exists?(hostgroup.id)
end

Also available in: Unified diff