Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 86 lines (75 sloc) 3.705 kb
f43702b Nick Quaranto Starting on pushing with basic auth and some features
qrush authored
1 Feature: Push Gems
efc042a Nick Quaranto Making the features pass again by requesting the api key
qrush authored
2 In order to share code with the world
f43702b Nick Quaranto 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 Nick Rivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
6 Scenario: User pushes new gem
78a66f6 Christopher Meiklejohn Update features with new clearance syntax.
cmeiklejohn authored
7 Given I am signed up as "email@person.com"
a2ea075 Nick Rivadeneira 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 Erik Michaels-Ober 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 Nick Rivadeneira 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 Nick Quaranto Starting on pushing with basic auth and some features
qrush authored
14
a2ea075 Nick Rivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
15 Scenario: User pushes existing version of existing gem
78a66f6 Christopher Meiklejohn Update features with new clearance syntax.
cmeiklejohn authored
16 Given I am signed up as "email@person.com"
a2ea075 Nick Rivadeneira 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 Erik Michaels-Ober 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 Nick Rivadeneira 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 Nick Quaranto Turning off repushing for good
qrush authored
24
a2ea075 Nick Rivadeneira 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 Erik Michaels-Ober Fix cukes
sferik authored
26 And I push the gem "PGem-1.0.0.gem" with my API key
4d9db7b Nick Rivadeneira 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 Nick Rivadeneira 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 Nick Quaranto Adding an integration test for pushing an existing version
qrush authored
33
a2ea075 Nick Rivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
34 Scenario: User pushes new version of existing gem
78a66f6 Christopher Meiklejohn Update features with new clearance syntax.
cmeiklejohn authored
35 Given I am signed up as "email@person.com"
b78d503 Erik Michaels-Ober Fix cukes
sferik authored
36 And I have an API key for "email@person.com/password"
a2ea075 Nick Rivadeneira 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 Erik Michaels-Ober Fix cukes
sferik authored
38 And I push the gem "BGem-2.0.0.gem" with my API key
a2ea075 Nick Rivadeneira 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 Erik Michaels-Ober Fix cukes
sferik authored
40 When I push the gem "BGem-3.0.0.gem" with my API key
a2ea075 Nick Rivadeneira 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 Nick Quaranto Exposing linkset errors when pushing
qrush authored
45
a2ea075 Nick Rivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
46 Scenario: User pushes gem with bad url
78a66f6 Christopher Meiklejohn Update features with new clearance syntax.
cmeiklejohn authored
47 Given I am signed up as "email@person.com"
b78d503 Erik Michaels-Ober Fix cukes
sferik authored
48 And I have an API key for "email@person.com/password"
a2ea075 Nick Rivadeneira 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 Erik Michaels-Ober Fix cukes
sferik authored
50 When I push the gem "badurl-1.0.0.gem" with my API key
a2ea075 Nick Rivadeneira 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 Nick Quaranto Bubbling up validations when homepage or authors are bad. Closes #76
qrush authored
52
a2ea075 Nick Rivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
53 Scenario: User pushes gem with bad name
78a66f6 Christopher Meiklejohn Update features with new clearance syntax.
cmeiklejohn authored
54 Given I am signed up as "email@person.com"
b78d503 Erik Michaels-Ober Fix cukes
sferik authored
55 And I have an API key for "email@person.com/password"
0de5f54 Gabriel Horner 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 Nick Rivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
58 Then I should see "Name must be a String"
4b5337e Nick Quaranto Bubbling up validations when homepage or authors are bad. Closes #76
qrush authored
59
a2ea075 Nick Rivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
60 Scenario: User pushes gem with bad authors
78a66f6 Christopher Meiklejohn Update features with new clearance syntax.
cmeiklejohn authored
61 Given I am signed up as "email@person.com"
b78d503 Erik Michaels-Ober Fix cukes
sferik authored
62 And I have an API key for "email@person.com/password"
a2ea075 Nick Rivadeneira 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 Erik Michaels-Ober Fix cukes
sferik authored
64 When I push the gem "badauthors-1.0.0.gem" with my API key
a2ea075 Nick Rivadeneira 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 Nick Quaranto Bubbling up validations when homepage or authors are bad. Closes #76
qrush authored
66
c891e5e Evan Phoenix Fix dependency check cucumber scenario
evanphx authored
67 Scenario: User pushes gem with unknown runtime dependency
78a66f6 Christopher Meiklejohn Update features with new clearance syntax.
cmeiklejohn authored
68 Given I am signed up as "email@person.com"
b78d503 Erik Michaels-Ober Fix cukes
sferik authored
69 And I have an API key for "email@person.com/password"
c891e5e Evan Phoenix 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 Nick Quaranto Pushed gems must specify dependencies that exist already
qrush authored
75
a2ea075 Nick Rivadeneira 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 Tristan Dunn Don't show an error backtrace when a pushed gem raises a package format ...
tristandunn authored
78
a2ea075 Nick Rivadeneira Use factory girl step definitions, revamp/rework a lot of features
nickrivadeneira authored
79 Scenario: User pushes file that is not a gem
78a66f6 Christopher Meiklejohn Update features with new clearance syntax.
cmeiklejohn authored
80 Given I am signed up as "email@person.com"
b78d503 Erik Michaels-Ober Fix cukes
sferik authored
81 And I have an API key for "email@person.com/password"
a2ea075 Nick Rivadeneira 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.