Skip to content

Instantly share code, notes, and snippets.

@fordaz
Created February 6, 2016 01:39
Show Gist options
  • Select an option

  • Save fordaz/2b3045840ff79e4f2151 to your computer and use it in GitHub Desktop.

Select an option

Save fordaz/2b3045840ff79e4f2151 to your computer and use it in GitHub Desktop.
ideas about dea to diego switch in CC
context 'switch from dea to diego' do
+ let(:app_obj) { AppFactory.make(instances: 1, diego: false) }
+ let(:developer) { make_developer_for_space(app_obj.space) }
+ let(:route) { Route.make(space: app_obj.space) }
+ let(:route_mapping) { RouteMapping.make(app_id: app_obj.id, route_id: route.id) }
+
context 'when user does not specify any ports' do
it 'sets ports to 8080' do
+ expect(RouteMapping.find(guid: route_mapping.guid).app_port).to be_nil
put "/v2/apps/#{app_obj.guid}", '{ "diego": true }', json_headers(headers_for(developer))
- expect(last_response.status).to eq(201)
+ expect(last_response.status).to eq(201)
expect(decoded_response['entity']['ports']).to match([8080])
expect(decoded_response['entity']['diego']).to be true
+ expect(RouteMapping.find(guid: route_mapping.guid).app_port).to eq(8080)
end
end
context 'when user specifies ports' do
it 'sets ports to user specified values' do
+ #expect(RouteMapping.find(guid: route_mapping.guid).app_port).to be_nil
put "/v2/apps/#{app_obj.guid}", '{ "diego": true, "ports": [9090,5222] }', json_headers(headers_for(developer))
expect(last_response.status).to eq(201)
expect(decoded_response['entity']['ports']).to match([9090, 5222])
expect(decoded_response['entity']['diego']).to be true
+ expect(RouteMapping.find(guid: route_mapping.guid).app_port).to eq(9090)
end
end
end
# if app_was_dea(app) && app.diego?
# app_port = len(app.ports) > 0 ? app.ports.first : 8080
# RouteMapping.dataset.where('app_id = ?', app.id).update(app_port: app_port)
# end
# def app_was_dea(app)
# return previous_changes && previous_changes.key?(:diego) && !previous_changes[:diego]
# end
def dea_to_diego
previous_changes && previous_changes.key?(:diego) && !previous_changes[:diego] && app.diego?
end
def diego_to_dea
previous_changes && previous_changes.key?(:diego) && previous_changes[:diego] && !app.diego?
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment