Created
February 6, 2016 01:39
-
-
Save fordaz/2b3045840ff79e4f2151 to your computer and use it in GitHub Desktop.
ideas about dea to diego switch in CC
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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