features/install.feature in berkshelf-1.0.0.rc3 vs features/install.feature in berkshelf-1.0.0
- old
+ new
@@ -77,9 +77,75 @@
"""
Installing artifact (0.9.8) from git: 'git://github.com/RiotGames/artifact-cookbook.git' with branch: '0.9.8'
"""
And the exit status should be 0
+ Scenario: installing a Berksfile that contains a GitHub location
+ Given I write to "Berksfile" with:
+ """
+ cookbook "artifact", github: "RiotGames/artifact-cookbook", ref: "0.9.8"
+ """
+ When I run the install command
+ Then the cookbook store should have the git cookbooks:
+ | artifact | 0.9.8 | c0a0b456a4716a81645bef1369f5fd1a4e62ce6d |
+ And the output should contain:
+ """
+ Installing artifact (0.9.8) from github: 'RiotGames/artifact-cookbook' with branch: '0.9.8'
+ """
+ And the exit status should be 0
+
+ Scenario Outline: installing a Berksfile that contains a Github location and the default protocol
+ Given I write to "Berksfile" with:
+ """
+ cookbook "artifact", github: "RiotGames/artifact-cookbook", ref: "0.9.8"<command postfix>
+ """
+ When I run the install command
+ Then the cookbook store should have the git cookbooks:
+ | artifact | 0.9.8 | c0a0b456a4716a81645bef1369f5fd1a4e62ce6d |
+ And the output should contain:
+ """
+ Installing artifact (0.9.8) from github: 'RiotGames/artifact-cookbook' with branch: '0.9.8'
+ """
+ And the exit status should be 0
+
+ Examples:
+ | command postfix |
+ | , protocol: "git" |
+ | |
+
+ Scenario Outline: installing a Berksfile that contains a Github location and specific protocol
+ Given I write to "Berksfile" with:
+ """
+ cookbook "artifact", github: "RiotGames/artifact-cookbook", ref: "0.9.8", protocol: "<protocol>"
+ """
+ When I run the install command
+ Then the cookbook store should have the git cookbooks:
+ | artifact | 0.9.8 | c0a0b456a4716a81645bef1369f5fd1a4e62ce6d |
+ And the output should contain:
+ """
+ Installing artifact (0.9.8) from github: 'RiotGames/artifact-cookbook' with branch: '0.9.8' over protocol: '<protocol>'
+ """
+ And the exit status should be 0
+
+ Examples:
+ | protocol |
+ # GitHub over ssh requires push authorization. Nonpushers will
+ # get a test failure here.
+ # | ssh |
+ | https |
+
+ Scenario: installing a Berksfile that contains a Github location and an unsupported protocol
+ Given I write to "Berksfile" with:
+ """
+ cookbook "artifact", github: "RiotGames/artifact-cookbook", ref: "0.9.8", protocol: "somethingabsurd"
+ """
+ When I run the install command
+ Then the output should contain:
+ """
+ 'somethingabsurd' is not a supported Git protocol for the 'github' location key. Please use 'git' instead.
+ """
+ And the exit status should be 110
+
Scenario: installing a Berksfile that contains an explicit site location
Given I write to "Berksfile" with:
"""
cookbook "mysql", "1.2.4", site: "http://cookbooks.opscode.com/api/v1/cookbooks"
"""