Commit cb9f1a4fe73e11fe2250800e06e4c288818629d7

Authored by Dmitriy Zaporozhets
2 parents 6d3a92f2 b3731580

Merge pull request #6149 from carlosparamio/assembla_hardcoded_project_name

Assembla service: Project name was hardcoded (oops)
app/models/project_services/assembla_service.rb
@@ -16,6 +16,8 @@ @@ -16,6 +16,8 @@
16 # 16 #
17 17
18 class AssemblaService < Service 18 class AssemblaService < Service
  19 + attr_accessible :subdomain
  20 +
19 include HTTParty 21 include HTTParty
20 22
21 validates :token, presence: true, if: :activated? 23 validates :token, presence: true, if: :activated?
@@ -34,12 +36,13 @@ class AssemblaService &lt; Service @@ -34,12 +36,13 @@ class AssemblaService &lt; Service
34 36
35 def fields 37 def fields
36 [ 38 [
37 - { type: 'text', name: 'token', placeholder: '' } 39 + { type: 'text', name: 'token', placeholder: '' },
  40 + { type: 'text', name: 'subdomain', placeholder: '' }
38 ] 41 ]
39 end 42 end
40 43
41 def execute(push) 44 def execute(push)
42 - url = "https://atlas.assembla.com/spaces/ouposp/github_tool?secret_key=#{token}" 45 + url = "https://atlas.assembla.com/spaces/#{subdomain}/github_tool?secret_key=#{token}"
43 AssemblaService.post(url, body: { payload: push }.to_json, headers: { 'Content-Type' => 'application/json' }) 46 AssemblaService.post(url, body: { payload: push }.to_json, headers: { 'Content-Type' => 'application/json' })
44 end 47 end
45 end 48 end
spec/models/assembla_service_spec.rb
@@ -33,14 +33,15 @@ describe AssemblaService do @@ -33,14 +33,15 @@ describe AssemblaService do
33 project_id: project.id, 33 project_id: project.id,
34 project: project, 34 project: project,
35 service_hook: true, 35 service_hook: true,
36 - token: 'verySecret' 36 + token: 'verySecret',
  37 + subdomain: 'project_name'
37 ) 38 )
38 @sample_data = GitPushService.new.sample_data(project, user) 39 @sample_data = GitPushService.new.sample_data(project, user)
39 - @api_url = 'https://atlas.assembla.com/spaces/ouposp/github_tool?secret_key=verySecret' 40 + @api_url = 'https://atlas.assembla.com/spaces/project_name/github_tool?secret_key=verySecret'
40 WebMock.stub_request(:post, @api_url) 41 WebMock.stub_request(:post, @api_url)
41 end 42 end
42 43
43 - it "should call FlowDock API" do 44 + it "should call Assembla API" do
44 @assembla_service.execute(@sample_data) 45 @assembla_service.execute(@sample_data)
45 WebMock.should have_requested(:post, @api_url).with( 46 WebMock.should have_requested(:post, @api_url).with(
46 body: /#{@sample_data[:before]}.*#{@sample_data[:after]}.*#{project.path}/ 47 body: /#{@sample_data[:before]}.*#{@sample_data[:after]}.*#{project.path}/