gitlab 3.7.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.travis.yml +2 -2
  4. data/CHANGELOG.md +24 -0
  5. data/README.md +7 -6
  6. data/gitlab.gemspec +4 -6
  7. data/lib/gitlab/client.rb +24 -0
  8. data/lib/gitlab/client/branches.rb +13 -13
  9. data/lib/gitlab/client/build_triggers.rb +9 -9
  10. data/lib/gitlab/client/build_variables.rb +11 -11
  11. data/lib/gitlab/client/builds.rb +16 -16
  12. data/lib/gitlab/client/commits.rb +39 -14
  13. data/lib/gitlab/client/groups.rb +1 -1
  14. data/lib/gitlab/client/issues.rb +40 -16
  15. data/lib/gitlab/client/labels.rb +9 -9
  16. data/lib/gitlab/client/merge_requests.rb +61 -24
  17. data/lib/gitlab/client/milestones.rb +25 -11
  18. data/lib/gitlab/client/namespaces.rb +2 -1
  19. data/lib/gitlab/client/notes.rb +16 -16
  20. data/lib/gitlab/client/pipelines.rb +68 -0
  21. data/lib/gitlab/client/projects.rb +111 -49
  22. data/lib/gitlab/client/repositories.rb +27 -23
  23. data/lib/gitlab/client/repository_files.rb +29 -10
  24. data/lib/gitlab/client/runners.rb +15 -15
  25. data/lib/gitlab/client/services.rb +8 -6
  26. data/lib/gitlab/client/snippets.rb +13 -13
  27. data/lib/gitlab/client/system_hooks.rb +1 -1
  28. data/lib/gitlab/client/tags.rb +13 -13
  29. data/lib/gitlab/client/users.rb +12 -5
  30. data/lib/gitlab/file_response.rb +1 -0
  31. data/lib/gitlab/version.rb +1 -1
  32. data/spec/fixtures/merge_request_closes_issues.json +1 -0
  33. data/spec/fixtures/milestone_merge_requests.json +1 -0
  34. data/spec/fixtures/pipeline.json +23 -0
  35. data/spec/fixtures/pipeline_cancel.json +23 -0
  36. data/spec/fixtures/pipeline_create.json +23 -0
  37. data/spec/fixtures/pipeline_retry.json +23 -0
  38. data/spec/fixtures/pipelines.json +48 -0
  39. data/spec/fixtures/project_commit_create.json +22 -0
  40. data/spec/fixtures/project_star.json +44 -0
  41. data/spec/fixtures/project_unstar.json +44 -0
  42. data/spec/fixtures/{git_hook.json → push_rule.json} +0 -0
  43. data/spec/gitlab/cli_spec.rb +9 -0
  44. data/spec/gitlab/client/client_spec.rb +11 -0
  45. data/spec/gitlab/client/commits_spec.rb +31 -0
  46. data/spec/gitlab/client/issues_spec.rb +48 -0
  47. data/spec/gitlab/client/merge_requests_spec.rb +57 -10
  48. data/spec/gitlab/client/milestones_spec.rb +16 -0
  49. data/spec/gitlab/client/pipelines_spec.rb +95 -0
  50. data/spec/gitlab/client/projects_spec.rb +116 -38
  51. data/spec/gitlab/client/repositories_spec.rb +0 -15
  52. data/spec/gitlab/client/repository_files_spec.rb +17 -2
  53. data/spec/gitlab/client/users_spec.rb +31 -13
  54. data/spec/gitlab/file_response_spec.rb +6 -1
  55. metadata +53 -43
@@ -19,12 +19,12 @@ describe Gitlab::Client do
19
19
 
20
20
  describe ".merge_request" do
21
21
  before do
22
- stub_get("/projects/3/merge_request/1", "merge_request")
22
+ stub_get("/projects/3/merge_requests/1", "merge_request")
23
23
  @merge_request = Gitlab.merge_request(3, 1)
24
24
  end
25
25
 
26
26
  it "should get the correct resource" do
27
- expect(a_get("/projects/3/merge_request/1")).to have_been_made
27
+ expect(a_get("/projects/3/merge_requests/1")).to have_been_made
28
28
  end
29
29
 
30
30
  it "should return information about a merge request" do
@@ -50,7 +50,7 @@ describe Gitlab::Client do
50
50
 
51
51
  describe ".update_merge_request" do
52
52
  before do
53
- stub_put("/projects/3/merge_request/2", "merge_request").
53
+ stub_put("/projects/3/merge_requests/2", "merge_request").
54
54
  with(body: {
55
55
  assignee_id: '1',
56
56
  target_branch: 'master',
@@ -64,7 +64,7 @@ describe Gitlab::Client do
64
64
  end
65
65
 
66
66
  it "should get the correct resource" do
67
- expect(a_put("/projects/3/merge_request/2").
67
+ expect(a_put("/projects/3/merge_requests/2").
68
68
  with(body: {
69
69
  assignee_id: '1',
70
70
  target_branch: 'master',
@@ -80,13 +80,13 @@ describe Gitlab::Client do
80
80
 
81
81
  describe ".accept_merge_request" do
82
82
  before do
83
- stub_put("/projects/5/merge_request/42/merge", "merge_request").
83
+ stub_put("/projects/5/merge_requests/42/merge", "merge_request").
84
84
  with(body: { merge_commit_message: 'Nice!' })
85
85
  @merge_request = Gitlab.accept_merge_request(5, 42, merge_commit_message: 'Nice!')
86
86
  end
87
87
 
88
88
  it "should get the correct resource" do
89
- expect(a_put("/projects/5/merge_request/42/merge").
89
+ expect(a_put("/projects/5/merge_requests/42/merge").
90
90
  with(body: { merge_commit_message: 'Nice!' })).to have_been_made
91
91
  end
92
92
 
@@ -134,12 +134,12 @@ describe Gitlab::Client do
134
134
 
135
135
  describe ".merge_request_changes" do
136
136
  before do
137
- stub_get("/projects/3/merge_request/2/changes", "merge_request_changes")
137
+ stub_get("/projects/3/merge_requests/2/changes", "merge_request_changes")
138
138
  @mr_changes = Gitlab.merge_request_changes(3, 2)
139
139
  end
140
140
 
141
141
  it "should get the correct resource" do
142
- expect(a_get("/projects/3/merge_request/2/changes")).to have_been_made
142
+ expect(a_get("/projects/3/merge_requests/2/changes")).to have_been_made
143
143
  end
144
144
 
145
145
  it "should return the merge request changes" do
@@ -154,12 +154,12 @@ describe Gitlab::Client do
154
154
 
155
155
  describe ".merge_request_commits" do
156
156
  before do
157
- stub_get("/projects/3/merge_request/2/commits", "merge_request_commits")
157
+ stub_get("/projects/3/merge_requests/2/commits", "merge_request_commits")
158
158
  @mr_commits = Gitlab.merge_request_commits(3, 2)
159
159
  end
160
160
 
161
161
  it "should get the correct resource" do
162
- expect(a_get("/projects/3/merge_request/2/commits")).to have_been_made
162
+ expect(a_get("/projects/3/merge_requests/2/commits")).to have_been_made
163
163
  end
164
164
 
165
165
  it "should return the merge request commits" do
@@ -174,4 +174,51 @@ describe Gitlab::Client do
174
174
  expect(@mr_commits[1].title).to eq "hoge"
175
175
  end
176
176
  end
177
+
178
+ describe ".merge_request_closes_issues" do
179
+ before do
180
+ stub_get("/projects/5/merge_requests/1/closes_issues", "merge_request_closes_issues")
181
+ @issues = Gitlab.merge_request_closes_issues(5, 1)
182
+ end
183
+
184
+ it "should get the correct resource" do
185
+ expect(a_get("/projects/5/merge_requests/1/closes_issues")).to have_been_made
186
+ end
187
+
188
+ it "should return a paginated response of the issues the merge_request will close" do
189
+ expect(@issues).to be_a(Gitlab::PaginatedResponse)
190
+ expect(@issues.first.title).to eq("Merge request 1 issue 1")
191
+ expect(@issues.size).to eq(2)
192
+ end
193
+ end
194
+
195
+ describe ".subscribe_to_merge_request" do
196
+ before do
197
+ stub_post("/projects/3/merge_requests/2/subscribe", "merge_request")
198
+ @merge_request = Gitlab.subscribe_to_merge_request(3, 2)
199
+ end
200
+
201
+ it "should get the correct resource" do
202
+ expect(a_post("/projects/3/merge_requests/2/subscribe")).to have_been_made
203
+ end
204
+
205
+ it "should return information about a merge request" do
206
+ expect(@merge_request.project_id).to eq(3)
207
+ end
208
+ end
209
+
210
+ describe ".unsubscribe_from_merge_request" do
211
+ before do
212
+ stub_post("/projects/3/merge_requests/2/unsubscribe", "merge_request")
213
+ @merge_request = Gitlab.unsubscribe_from_merge_request(3, 2)
214
+ end
215
+
216
+ it "should get the correct resource" do
217
+ expect(a_post("/projects/3/merge_requests/2/unsubscribe")).to have_been_made
218
+ end
219
+
220
+ it "should return information about a merge request" do
221
+ expect(@merge_request.project_id).to eq(3)
222
+ end
223
+ end
177
224
  end
@@ -48,6 +48,22 @@ describe Gitlab::Client do
48
48
  end
49
49
  end
50
50
 
51
+ describe ".milestone_merge_requests" do
52
+ before do
53
+ stub_get("/projects/3/milestones/1/merge_requests", "milestone_merge_requests")
54
+ @milestone_merge_requests = Gitlab.milestone_merge_requests(3, 1)
55
+ end
56
+
57
+ it "should get the correct resource" do
58
+ expect(a_get("/projects/3/milestones/1/merge_requests")).to have_been_made
59
+ end
60
+
61
+ it "should return a paginated response of milestone's merge_requests" do
62
+ expect(@milestone_merge_requests).to be_a Gitlab::PaginatedResponse
63
+ expect(@milestone_merge_requests.first.milestone.id).to eq(1)
64
+ end
65
+ end
66
+
51
67
  describe ".create_milestone" do
52
68
  before do
53
69
  stub_post("/projects/3/milestones", "milestone")
@@ -0,0 +1,95 @@
1
+ require 'spec_helper'
2
+
3
+ describe Gitlab::Client do
4
+ describe ".pipelines" do
5
+ before do
6
+ stub_get("/projects/3/pipelines", "pipelines")
7
+ @pipelines = Gitlab.pipelines(3)
8
+ end
9
+
10
+ it "should get the correct resource" do
11
+ expect(a_get("/projects/3/pipelines")).to have_been_made
12
+ end
13
+
14
+ it "should return a paginated response of project's pipelines" do
15
+ expect(@pipelines).to be_a Gitlab::PaginatedResponse
16
+ end
17
+ end
18
+
19
+ describe ".pipeline" do
20
+ before do
21
+ stub_get("/projects/3/pipelines/46", "pipeline")
22
+ @pipeline = Gitlab.pipeline(3, 46)
23
+ end
24
+
25
+ it "should get the correct resource" do
26
+ expect(a_get("/projects/3/pipelines/46")).to have_been_made
27
+ end
28
+
29
+ it "should return a single pipeline" do
30
+ expect(@pipeline).to be_a Gitlab::ObjectifiedHash
31
+ end
32
+
33
+ it "should return information about a pipeline" do
34
+ expect(@pipeline.id).to eq(46)
35
+ expect(@pipeline.user.name).to eq("Administrator")
36
+ end
37
+ end
38
+
39
+ describe ".create_pipeline" do
40
+ before do
41
+ stub_post("/projects/3/pipeline?ref=master", "pipeline_create")
42
+ @pipeline_create = Gitlab.create_pipeline(3, 'master')
43
+ end
44
+
45
+ it "should get the correct resource" do
46
+ expect(a_post("/projects/3/pipeline?ref=master")).to have_been_made
47
+ end
48
+
49
+ it "should return a single pipeline" do
50
+ expect(@pipeline_create).to be_a Gitlab::ObjectifiedHash
51
+ end
52
+
53
+ it "should return information about a pipeline" do
54
+ expect(@pipeline_create.user.name).to eq("Administrator")
55
+ end
56
+ end
57
+
58
+ describe ".cancel_pipeline" do
59
+ before do
60
+ stub_post("/projects/3/pipelines/46/cancel", "pipeline_cancel")
61
+ @pipeline_cancel = Gitlab.cancel_pipeline(3, 46)
62
+ end
63
+
64
+ it "should get the correct resource" do
65
+ expect(a_post("/projects/3/pipelines/46/cancel")).to have_been_made
66
+ end
67
+
68
+ it "should return a single pipeline" do
69
+ expect(@pipeline_cancel).to be_a Gitlab::ObjectifiedHash
70
+ end
71
+
72
+ it "should return information about a pipeline" do
73
+ expect(@pipeline_cancel.user.name).to eq("Administrator")
74
+ end
75
+ end
76
+
77
+ describe ".retry_pipeline" do
78
+ before do
79
+ stub_post("/projects/3/pipelines/46/retry", "pipeline_retry")
80
+ @pipeline_retry = Gitlab.retry_pipeline(3, 46)
81
+ end
82
+
83
+ it "should get the correct resource" do
84
+ expect(a_post("/projects/3/pipelines/46/retry")).to have_been_made
85
+ end
86
+
87
+ it "should return a single pipeline" do
88
+ expect(@pipeline_retry).to be_a Gitlab::ObjectifiedHash
89
+ end
90
+
91
+ it "should return information about a pipeline" do
92
+ expect(@pipeline_retry.user.name).to eq("Administrator")
93
+ end
94
+ end
95
+ end
@@ -122,12 +122,12 @@ describe Gitlab::Client do
122
122
  describe ".create_fork" do
123
123
  context "without sudo option" do
124
124
  before do
125
- stub_post("/projects/fork/3", "project_fork")
125
+ stub_post("/projects/3/fork", "project_fork")
126
126
  @project = Gitlab.create_fork(3)
127
127
  end
128
128
 
129
129
  it "should post to the correct resource" do
130
- expect(a_post("/projects/fork/3")).to have_been_made
130
+ expect(a_post("/projects/3/fork")).to have_been_made
131
131
  end
132
132
 
133
133
  it "should return information about the forked project" do
@@ -138,13 +138,13 @@ describe Gitlab::Client do
138
138
 
139
139
  context "with the sudo option" do
140
140
  before do
141
- stub_post("/projects/fork/3", "project_forked_for_user")
141
+ stub_post("/projects/3/fork", "project_forked_for_user")
142
142
  @sudoed_username = 'jack.smith'
143
143
  @project = Gitlab.create_fork(3, sudo: @sudoed_username)
144
144
  end
145
145
 
146
146
  it "should post to the correct resource" do
147
- expect(a_post("/projects/fork/3")).to have_been_made
147
+ expect(a_post("/projects/3/fork")).to have_been_made
148
148
  end
149
149
 
150
150
  it "should return information about the forked project" do
@@ -363,81 +363,81 @@ describe Gitlab::Client do
363
363
  end
364
364
  end
365
365
 
366
- describe ".git_hook" do
366
+ describe ".push_rule" do
367
367
  before do
368
- stub_get("/projects/1/git_hook", "git_hook")
369
- @git_hook = Gitlab.git_hook(1)
368
+ stub_get("/projects/1/push_rule", "push_rule")
369
+ @push_rule = Gitlab.push_rule(1)
370
370
  end
371
371
 
372
372
  it "should get the correct resource" do
373
- expect(a_get("/projects/1/git_hook")).to have_been_made
373
+ expect(a_get("/projects/1/push_rule")).to have_been_made
374
374
  end
375
375
 
376
- it "should return information about a git hook" do
377
- expect(@git_hook.commit_message_regex).to eq("\\b[A-Z]{3}-[0-9]+\\b")
376
+ it "should return information about a push rule" do
377
+ expect(@push_rule.commit_message_regex).to eq("\\b[A-Z]{3}-[0-9]+\\b")
378
378
  end
379
379
  end
380
380
 
381
- describe ".add_git_hook" do
381
+ describe ".add_push_rule" do
382
382
  before do
383
- stub_post("/projects/1/git_hook", "git_hook")
384
- @git_hook = Gitlab.add_git_hook(1, { deny_delete_tag: false, commit_message_regex: "\\b[A-Z]{3}-[0-9]+\\b" })
383
+ stub_post("/projects/1/push_rule", "push_rule")
384
+ @push_rule = Gitlab.add_push_rule(1, { deny_delete_tag: false, commit_message_regex: "\\b[A-Z]{3}-[0-9]+\\b" })
385
385
  end
386
386
 
387
387
  it "should get the correct resource" do
388
- expect(a_post("/projects/1/git_hook")).to have_been_made
388
+ expect(a_post("/projects/1/push_rule")).to have_been_made
389
389
  end
390
390
 
391
- it "should return information about an added git hook" do
392
- expect(@git_hook.commit_message_regex).to eq("\\b[A-Z]{3}-[0-9]+\\b")
391
+ it "should return information about an added push rule" do
392
+ expect(@push_rule.commit_message_regex).to eq("\\b[A-Z]{3}-[0-9]+\\b")
393
393
  end
394
394
  end
395
395
 
396
- describe ".edit_git_hook" do
396
+ describe ".edit_push_rule" do
397
397
  before do
398
- stub_put("/projects/1/git_hook", "git_hook")
399
- @git_hook = Gitlab.edit_git_hook(1, { deny_delete_tag: false, commit_message_regex: "\\b[A-Z]{3}-[0-9]+\\b" })
398
+ stub_put("/projects/1/push_rule", "push_rule")
399
+ @push_rule = Gitlab.edit_push_rule(1, { deny_delete_tag: false, commit_message_regex: "\\b[A-Z]{3}-[0-9]+\\b" })
400
400
  end
401
401
 
402
402
  it "should get the correct resource" do
403
- expect(a_put("/projects/1/git_hook")).to have_been_made
403
+ expect(a_put("/projects/1/push_rule")).to have_been_made
404
404
  end
405
405
 
406
- it "should return information about an edited git hook" do
407
- expect(@git_hook.commit_message_regex).to eq("\\b[A-Z]{3}-[0-9]+\\b")
406
+ it "should return information about an edited push rule" do
407
+ expect(@push_rule.commit_message_regex).to eq("\\b[A-Z]{3}-[0-9]+\\b")
408
408
  end
409
409
  end
410
410
 
411
- describe ".delete_git_hook" do
411
+ describe ".delete_push_rule" do
412
412
  context "when empty response" do
413
413
  before do
414
- stub_request(:delete, "#{Gitlab.endpoint}/projects/1/git_hook").
414
+ stub_request(:delete, "#{Gitlab.endpoint}/projects/1/push_rule").
415
415
  with(headers: { 'PRIVATE-TOKEN' => Gitlab.private_token }).
416
416
  to_return(body: '')
417
- @git_hook = Gitlab.delete_git_hook(1)
417
+ @push_rule = Gitlab.delete_push_rule(1)
418
418
  end
419
419
 
420
420
  it "should get the correct resource" do
421
- expect(a_delete("/projects/1/git_hook")).to have_been_made
421
+ expect(a_delete("/projects/1/push_rule")).to have_been_made
422
422
  end
423
423
 
424
424
  it "should return false" do
425
- expect(@git_hook).to be(false)
425
+ expect(@push_rule).to be(false)
426
426
  end
427
427
  end
428
428
 
429
429
  context "when JSON response" do
430
430
  before do
431
- stub_delete("/projects/1/git_hook", "git_hook")
432
- @git_hook = Gitlab.delete_git_hook(1)
431
+ stub_delete("/projects/1/push_rule", "push_rule")
432
+ @push_rule = Gitlab.delete_push_rule(1)
433
433
  end
434
434
 
435
435
  it "should get the correct resource" do
436
- expect(a_delete("/projects/1/git_hook")).to have_been_made
436
+ expect(a_delete("/projects/1/push_rule")).to have_been_made
437
437
  end
438
438
 
439
- it "should return information about a deleted git hook" do
440
- expect(@git_hook.commit_message_regex).to eq("\\b[A-Z]{3}-[0-9]+\\b")
439
+ it "should return information about a deleted push rule" do
440
+ expect(@push_rule.commit_message_regex).to eq("\\b[A-Z]{3}-[0-9]+\\b")
441
441
  end
442
442
  end
443
443
  end
@@ -475,12 +475,12 @@ describe Gitlab::Client do
475
475
 
476
476
  describe ".deploy_keys" do
477
477
  before do
478
- stub_get("/projects/42/keys", "project_keys")
478
+ stub_get("/projects/42/deploy_keys", "project_keys")
479
479
  @deploy_keys = Gitlab.deploy_keys(42)
480
480
  end
481
481
 
482
482
  it "should get the correct resource" do
483
- expect(a_get("/projects/42/keys")).to have_been_made
483
+ expect(a_get("/projects/42/deploy_keys")).to have_been_made
484
484
  end
485
485
 
486
486
  it "should return project deploy keys" do
@@ -493,12 +493,12 @@ describe Gitlab::Client do
493
493
 
494
494
  describe ".deploy_key" do
495
495
  before do
496
- stub_get("/projects/42/keys/2", "project_key")
496
+ stub_get("/projects/42/deploy_keys/2", "project_key")
497
497
  @deploy_key = Gitlab.deploy_key(42, 2)
498
498
  end
499
499
 
500
500
  it "should get the correct resource" do
501
- expect(a_get("/projects/42/keys/2")).to have_been_made
501
+ expect(a_get("/projects/42/deploy_keys/2")).to have_been_made
502
502
  end
503
503
 
504
504
  it "should return project deploy key" do
@@ -510,16 +510,94 @@ describe Gitlab::Client do
510
510
 
511
511
  describe ".delete_deploy_key" do
512
512
  before do
513
- stub_delete("/projects/42/keys/2", "project_key")
513
+ stub_delete("/projects/42/deploy_keys/2", "project_key")
514
514
  @deploy_key = Gitlab.delete_deploy_key(42, 2)
515
515
  end
516
516
 
517
517
  it "should get the correct resource" do
518
- expect(a_delete("/projects/42/keys/2")).to have_been_made
518
+ expect(a_delete("/projects/42/deploy_keys/2")).to have_been_made
519
519
  end
520
520
 
521
521
  it "should return information about a deleted key" do
522
522
  expect(@deploy_key.id).to eq(2)
523
523
  end
524
524
  end
525
+
526
+ describe ".enable_deploy_key" do
527
+ before do
528
+ stub_post("/projects/42/deploy_keys/2/enable", "project_key")
529
+ @deploy_key = Gitlab.enable_deploy_key(42, 2)
530
+ end
531
+
532
+ it "should get the correct resource" do
533
+ expect(a_post("/projects/42/deploy_keys/2/enable").
534
+ with(body: { id: '42', key_id: '2' })).to have_been_made
535
+ end
536
+
537
+ it "should return information about an enabled key" do
538
+ expect(@deploy_key.id).to eq(2)
539
+ end
540
+ end
541
+
542
+ describe ".disable_deploy_key" do
543
+ before do
544
+ stub_post("/projects/42/deploy_keys/2/disable", "project_key")
545
+ @deploy_key = Gitlab.disable_deploy_key(42, 2)
546
+ end
547
+
548
+ it "should get the correct resource" do
549
+ expect(a_post("/projects/42/deploy_keys/2/disable").
550
+ with(body: { id: '42', key_id: '2' })).to have_been_made
551
+ end
552
+
553
+ it "should return information about a disabled key" do
554
+ expect(@deploy_key.id).to eq(2)
555
+ end
556
+ end
557
+
558
+ describe ".share_project_with_group" do
559
+ before do
560
+ stub_post("/projects/3/share", "group")
561
+ @group = Gitlab.share_project_with_group(3, 10, 40)
562
+ end
563
+
564
+ it "should get the correct resource" do
565
+ expect(a_post("/projects/3/share").
566
+ with(body: { group_id: '10', group_access: '40' })).to have_been_made
567
+ end
568
+
569
+ it "should return information about an added group" do
570
+ expect(@group.id).to eq(10)
571
+ end
572
+ end
573
+
574
+ describe ".star_project" do
575
+ before do
576
+ stub_post("/projects/3/star", "project_star")
577
+ @starred_project = Gitlab.star_project(3)
578
+ end
579
+
580
+ it "should get the correct resource" do
581
+ expect(a_post("/projects/3/star")).to have_been_made
582
+ end
583
+
584
+ it "should return information about the starred project" do
585
+ expect(@starred_project.id).to eq(3)
586
+ end
587
+ end
588
+
589
+ describe ".unstar_project" do
590
+ before do
591
+ stub_delete("/projects/3/star", "project_unstar")
592
+ @unstarred_project = Gitlab.unstar_project(3)
593
+ end
594
+
595
+ it "should get the correct resource" do
596
+ expect(a_delete("/projects/3/star")).to have_been_made
597
+ end
598
+
599
+ it "should return information about the unstarred project" do
600
+ expect(@unstarred_project.id).to eq(3)
601
+ end
602
+ end
525
603
  end