blob: bc542f1d5971e69f07bf38aabd442316a0340ad1 [file] [log] [blame]
;
; Licensed to the Apache Software Foundation (ASF) under one or more
; contributor license agreements. See the NOTICE file distributed with
; this work for additional information regarding copyright ownership.
; The ASF licenses this file to You under the Apache License, Version 2.0
; (the "License"); you may not use this file except in compliance with
; the License. You may obtain a copy of the License at
;
; http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
;
(ns org.jclouds.chef-test
(:use [org.jclouds.chef] :reload-all)
(:use [clojure.test]))
(defn clean-stub-fixture
"This should allow basic tests to easily be run with another service."
[service account key & options]
(fn [f]
(with-chef-service [(apply chef-service service account key options)]
(doseq [databag (databags)]
(delete-databag databag))
(f))))
(use-fixtures :each (clean-stub-fixture "transientchef" "" ""))
(deftest chef-service?-test
(is (chef-service? *chef*)))
(deftest as-chef-service-test
(is (chef-service? (chef-service "transientchef" "" "")))
(is (chef-service? (as-chef-service *chef*)))
(is (chef-service? (as-chef-service (chef-context *chef*)))))
(deftest create-existing-databag-test
(is (not (databag-exists? "")))
(create-databag "fred")
(is (databag-exists? "fred")))
(deftest create-databag-test
(create-databag "fred")
(is (databag-exists? "fred")))
(deftest databags-test
(is (empty? (databags)))
(create-databag "fred")
(is (= 1 (count (databags)))))
(deftest databag-items-test
(create-databag "databag")
(is (empty? (databag-items "databag")))
(is (create-databag-item "databag" {:id "databag-item1" :value "databag-value1"}))
(is (create-databag-item "databag" {:id "databag-item2" :value "databag-value2"}))
(is (= 2 (count (databag-items "databag")))))
(deftest databag-item-test
(create-databag "databag")
(is (create-databag-item "databag" {:id "databag-item1" :value "databag-value1"}))
(is (create-databag-item "databag" {:id "databag-item2" :value "databag-value2"}))
(is (= {:id "databag-item2" :value "databag-value2"} (databag-item "databag" "databag-item2"))))
(deftest run-list-test
(update-run-list #{"recipe[foo]"} "tag")
(is (= ["recipe[foo]"] (run-list "tag"))))