Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 86 lines (75 sloc) 3.705 kB
f43702b @qrush Starting on pushing with basic auth and some features
qrush authored
1 Feature: Push Gems
efc042a @qrush Making the features pass again by requesting the api key
qrush authored
2 In order to share code with the world
f43702b @qrush Starting on pushing with basic auth and some features
qrush authored
3 A rubygem developer
4 Should be able to push gems up to Gemcutter
5
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
6 Scenario: User pushes new gem
78a66f6 @cmeiklejohn Update features with new clearance syntax.
cmeiklejohn authored
7 Given I am signed up as "email@person.com"
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
8 And I have a gem "RGem" with version "1.2.3"
b78d503 @sferik Fix cukes
sferik authored
9 And I have an API key for "email@person.com/password"
10 When I push the gem "RGem-1.2.3.gem" with my API key
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
11 And I visit the gem page for "RGem"
12 Then I should see "RGem"
13 And I should see "1.2.3"
f43702b @qrush Starting on pushing with basic auth and some features
qrush authored
14
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
15 Scenario: User pushes existing version of existing gem
78a66f6 @cmeiklejohn Update features with new clearance syntax.
cmeiklejohn authored
16 Given I am signed up as "email@person.com"
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
17 And I have a gem "PGem" with version "1.0.0" and summary "First try"
b78d503 @sferik Fix cukes
sferik authored
18 And I have an API key for "email@person.com/password"
19 When I push the gem "PGem-1.0.0.gem" with my API key
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
20 And I visit the gem page for "PGem"
21 Then I should see "PGem"
22 And I should see "1.0.0"
23 And I should see "First try"
4331ee2 @qrush Turning off repushing for good
qrush authored
24
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
25 When I have a gem "PGem" with version "1.0.0" and summary "Second try"
b78d503 @sferik Fix cukes
sferik authored
26 And I push the gem "PGem-1.0.0.gem" with my API key
4d9db7b @nickrivadeneira Move to capybara/cucumber 1.0
nickrivadeneira authored
27 Then the response should contain "Repushing of gem versions is not allowed."
28 And the response should contain "Please use `gem yank` to remove bad gem releases."
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
29 And I visit the gem page for "PGem"
30 And I should see "PGem"
31 And I should see "1.0.0"
32 And I should see "First try"
56e93a3 @qrush Adding an integration test for pushing an existing version
qrush authored
33
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
34 Scenario: User pushes new version of existing gem
78a66f6 @cmeiklejohn Update features with new clearance syntax.
cmeiklejohn authored
35 Given I am signed up as "email@person.com"
b78d503 @sferik Fix cukes
sferik authored
36 And I have an API key for "email@person.com/password"
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
37 And I have a gem "BGem" with version "2.0.0"
b78d503 @sferik Fix cukes
sferik authored
38 And I push the gem "BGem-2.0.0.gem" with my API key
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
39 And I have a gem "BGem" with version "3.0.0"
b78d503 @sferik Fix cukes
sferik authored
40 When I push the gem "BGem-3.0.0.gem" with my API key
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
41 And I visit the gem page for "BGem"
42 Then I should see "BGem"
43 And I should see "2.0.0"
44 And I should see "3.0.0"
824b532 @qrush Exposing linkset errors when pushing
qrush authored
45
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
46 Scenario: User pushes gem with bad url
78a66f6 @cmeiklejohn Update features with new clearance syntax.
cmeiklejohn authored
47 Given I am signed up as "email@person.com"
b78d503 @sferik Fix cukes
sferik authored
48 And I have an API key for "email@person.com/password"
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
49 And I have a gem "badurl" with version "1.0.0" and homepage "badurl.com"
b78d503 @sferik Fix cukes
sferik authored
50 When I push the gem "badurl-1.0.0.gem" with my API key
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
51 Then I should see "Home does not appear to be a valid URL"
4b5337e @qrush Bubbling up validations when homepage or authors are bad. Closes #76
qrush authored
52
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
53 Scenario: User pushes gem with bad name
78a66f6 @cmeiklejohn Update features with new clearance syntax.
cmeiklejohn authored
54 Given I am signed up as "email@person.com"
b78d503 @sferik Fix cukes
sferik authored
55 And I have an API key for "email@person.com/password"
0de5f54 @cldwalker Change 1.9 test case to avoid Gem::Builder.new quirk
cldwalker authored
56 And I have a bad gem "true" with version "1.0.0"
57 When I push the gem "true-1.0.0.gem" with my API key
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
58 Then I should see "Name must be a String"
4b5337e @qrush Bubbling up validations when homepage or authors are bad. Closes #76
qrush authored
59
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
60 Scenario: User pushes gem with bad authors
78a66f6 @cmeiklejohn Update features with new clearance syntax.
cmeiklejohn authored
61 Given I am signed up as "email@person.com"
b78d503 @sferik Fix cukes
sferik authored
62 And I have an API key for "email@person.com/password"
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
63 And I have a gem "badauthors" with version "1.0.0" and authors "[3]"
b78d503 @sferik Fix cukes
sferik authored
64 When I push the gem "badauthors-1.0.0.gem" with my API key
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
65 Then I should see "Authors must be an Array of Strings"
4b5337e @qrush Bubbling up validations when homepage or authors are bad. Closes #76
qrush authored
66
c891e5e @evanphx Fix dependency check cucumber scenario
evanphx authored
67 Scenario: User pushes gem with unknown runtime dependency
78a66f6 @cmeiklejohn Update features with new clearance syntax.
cmeiklejohn authored
68 Given I am signed up as "email@person.com"
b78d503 @sferik Fix cukes
sferik authored
69 And I have an API key for "email@person.com/password"
c891e5e @evanphx Fix dependency check cucumber scenario
evanphx authored
70 And I have a gem "unkdeps" with version "1.0.0" and runtime dependency "unknown"
71 When I push the gem "unkdeps-1.0.0.gem" with my API key
72 And I visit the gem page for "unkdeps"
73 Then I should see "unkdeps"
74 And I should see "1.0.0"
0e5d429 @qrush Pushed gems must specify dependencies that exist already
qrush authored
75
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
76 @wip
77 Scenario: User pushes gem with missing :rubygems_version, :specification_version, :name, :version, :date, :summary, :require_paths
b2b95e1 @tristandunn Don't show an error backtrace when a pushed gem raises a package form…
tristandunn authored
78
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
79 Scenario: User pushes file that is not a gem
78a66f6 @cmeiklejohn Update features with new clearance syntax.
cmeiklejohn authored
80 Given I am signed up as "email@person.com"
b78d503 @sferik Fix cukes
sferik authored
81 And I have an API key for "email@person.com/password"
a2ea075 @nickrivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
82 When I push an invalid .gem file
83 Then I should see "RubyGems.org cannot process this gem."
84 And I should not see "Error:"
85 And I should not see "No metadata found!"
Something went wrong with that request. Please try again.