File tree Expand file tree Collapse file tree
chef-server-api/app/controllers Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -66,8 +66,7 @@ def update
6666 raise NotFound , "Cannot load environment #{ params [ :id ] } "
6767 end
6868
69- env . description ( params [ "inflated_object" ] . description )
70- env . cookbook_versions ( params [ "inflated_object" ] . cookbook_versions )
69+ env . update_from! ( params [ "inflated_object" ] )
7170 env . cdb_save
7271 env . couchdb_rev = nil
7372 self . status = 200
@@ -87,4 +86,4 @@ def destroy
8786
8887 private
8988
90- end
89+ end
Original file line number Diff line number Diff line change @@ -131,6 +131,12 @@ def to_json(*a)
131131 to_hash . to_json ( *a )
132132 end
133133
134+ def update_from! ( o )
135+ description ( o . description )
136+ cookbook_versions ( o . cookbook_versions )
137+ self
138+ end
139+
134140 def self . json_create ( o )
135141 environment = new
136142 environment . name ( o [ "name" ] )
Original file line number Diff line number Diff line change 110110 end
111111 end
112112
113+ describe "update_from!" do
114+ before ( :each ) do
115+ @environment . name ( "prod" )
116+ @environment . description ( "this is prod" )
117+ @environment . cookbook_versions ( { "apt" => "1.2.3" } )
118+
119+ @example = Chef ::Environment . new
120+ @example . name ( "notevenprod" )
121+ @example . description ( "this is pre-prod" )
122+ @example . cookbook_versions ( { "apt" => "2.3.4" } )
123+ end
124+
125+ it "should update everything but name" do
126+ @environment . update_from! ( @example )
127+ @environment . name . should == "prod"
128+ @environment . description . should == @example . description
129+ @environment . cookbook_versions . should == @example . cookbook_versions
130+ end
131+ end
132+
113133 describe "to_hash" do
114134 before ( :each ) do
115135 @environment . name ( "spec" )
219239 Chef ::Environment . validate_cookbook_version ( Chef ::CookbookVersion . new ( "meta" ) ) . should == false
220240 end
221241 end
222- end
242+ end
You can’t perform that action at this time.
0 commit comments