Revision 5656ef86
Added by Ohad Levy about 14 years ago
- ID 5656ef864cf7c3ceb6e93b756b0f95f63a9a34b2
app/models/group_parameter.rb | ||
---|---|---|
class GroupParameter < Parameter
|
||
belongs_to :hostgroup
|
||
validates_presence_of :hostgroup_id
|
||
validates_uniqueness_of :name
|
||
end
|
app/models/host_parameter.rb | ||
---|---|---|
class HostParameter < Parameter
|
||
belongs_to :host
|
||
validates_presence_of :host_id, :message => "parameters require an associated host", :unless => :nested
|
||
validates_uniqueness_of :name
|
||
|
||
def to_s
|
||
"#{host_id ? host.name : "unassociated"}: #{name} = #{value}"
|
test/fixtures/parameters.yml | ||
---|---|---|
name: test
|
||
value: myvalue
|
||
type: CommonParameter
|
||
#
|
||
# two:
|
||
# column: value
|
||
|
||
two:
|
||
name: parameter
|
||
value: value1
|
||
|
test/unit/domain_parameter_test.rb | ||
---|---|---|
parameter.domain_id = domain.id
|
||
assert parameter.save
|
||
end
|
||
|
||
test "should have a unique parameter name" do
|
||
p1 = DomainParameter.new(:name => "parameter", :value => "value1", :domain_id => Domain.first)
|
||
assert p1.save
|
||
p2 = DomainParameter.new(:name => "parameter", :value => "value2", :domain_id => Domain.first)
|
||
assert !p2.save
|
||
end
|
||
end
|
||
|
test/unit/parameter_test.rb | ||
---|---|---|
parameter.value.strip!.squeeze!(" ").empty?
|
||
assert parameter.save
|
||
end
|
||
|
||
test "name must not be unique accross different parameter groups" do
|
||
p1 = HostParameter.new :name => "param", :value => "value1", :host_id => Host.first
|
||
assert p1.save
|
||
p2 = DomainParameter.new :name => "param", :value => "value2", :domain_id => Domain.first
|
||
assert p2.save
|
||
p3 = CommonParameter.new :name => "param", :value => "value3"
|
||
assert p3.save
|
||
p4 = GroupParameter.new :name => "param", :value => "value4", :hostgroup_id => Hostgroup.first
|
||
assert p4.save
|
||
end
|
||
end
|
Also available in: Unified diff
fixes #216 - Validate uniqueness of a parameter name for Individual hosts