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" """