SteeringTarget API - removing redundent parameters
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/51240cd6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/51240cd6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/51240cd6 Branch: refs/heads/master Commit: 51240cd6abd4624eb32db7294ce85fb5a3a0a0a6 Parents: 5cd1e75 Author: nir-sopher <n...@qwilt.com> Authored: Tue Jul 18 00:21:45 2017 +0300 Committer: Jeremy Mitchell <mitchell...@gmail.com> Committed: Mon Jul 31 08:40:07 2017 -0600 ---------------------------------------------------------------------- .../lib/API/DeliveryService/SteeringTarget.pm | 26 ++++++++++---------- traffic_ops/app/t/api/1.2/steering_target.t | 5 ---- 2 files changed, 13 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/51240cd6/traffic_ops/app/lib/API/DeliveryService/SteeringTarget.pm ---------------------------------------------------------------------- diff --git a/traffic_ops/app/lib/API/DeliveryService/SteeringTarget.pm b/traffic_ops/app/lib/API/DeliveryService/SteeringTarget.pm index a1601a6..d6ccdfc 100644 --- a/traffic_ops/app/lib/API/DeliveryService/SteeringTarget.pm +++ b/traffic_ops/app/lib/API/DeliveryService/SteeringTarget.pm @@ -102,8 +102,8 @@ sub update { } my $values = { - deliveryservice => $params->{deliveryServiceId}, - target => $params->{targetId}, + deliveryservice => $steering_ds_id, + target => $target_ds_id, value => $params->{value}, type => $params->{typeId}, }; @@ -113,10 +113,10 @@ sub update { if ($update) { my $response; - $response->{deliveryServiceId} = $params->{deliveryServiceId}; - $response->{targetId} = $params->{targetId}; - $response->{value} = $params->{value}; - $response->{typeId} = $params->{typeId}; + $response->{deliveryServiceId} = $update->deliveryservice->id; + $response->{targetId} = $update->target->id; + $response->{value} = $update->value; + $response->{typeId} = $update->type->id; &log( $self, "Updated steering target [ " . $target_ds_id . " ] for deliveryservice: " . $steering_ds_id, "APICHANGE" ); @@ -131,6 +131,8 @@ sub update { sub create { my $self = shift; my $params = $self->req->json; + my $steering_ds_id = $self->param('id'); + my $target_ds_id = $params->{targetId}; if ( !&is_admin($self) ) { return $self->forbidden(); @@ -143,8 +145,8 @@ sub create { } my %criteria; - $criteria{'deliveryservice'} = $params->{deliveryservice}; - $criteria{'target'} = $params->{target}; + $criteria{'deliveryservice'} = $steering_ds_id; + $criteria{'target'} = $target_ds_id; my $existing = $self->db->resultset('SteeringTarget')->search( \%criteria )->single(); if ( defined($existing) ) { @@ -152,8 +154,8 @@ sub create { } my $values = { - deliveryservice => $params->{deliveryServiceId}, - target => $params->{targetId}, + deliveryservice => $steering_ds_id, + target => $target_ds_id, value => $params->{value}, type => $params->{typeId}, }; @@ -214,12 +216,10 @@ sub is_target_valid { } my $rules = { - fields => [qw/deliveryServiceId targetId value typeId/], + fields => [qw/value typeId/], # Validation checks to perform checks => [ - deliveryServiceId => [ is_required("is required") ], - targetId => [ is_required("is required") ], value => [ is_required("is required") ], typeId => [ is_required("is required") ], ] http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/51240cd6/traffic_ops/app/t/api/1.2/steering_target.t ---------------------------------------------------------------------- diff --git a/traffic_ops/app/t/api/1.2/steering_target.t b/traffic_ops/app/t/api/1.2/steering_target.t index 4a3607f..91ce8d8 100644 --- a/traffic_ops/app/t/api/1.2/steering_target.t +++ b/traffic_ops/app/t/api/1.2/steering_target.t @@ -40,7 +40,6 @@ ok $t->post_ok( '/api/1.1/user/login', json => { u => Test::TestHelper::ADMIN_US 'Log into the admin user?'; ok $t->post_ok('/api/1.2/steering/900/targets' => {Accept => 'application/json'} => json => { - "deliveryServiceId" => 900, "targetId" => 1000, "value" => 852, "typeId" => 40 @@ -59,15 +58,11 @@ ok $t->get_ok("/api/1.2/steering/900/targets")->status_is(200)->or( sub { diag $ , 'Are steering targets returned?'; $t->get_ok("/api/1.2/steering/900/targets/1000")->status_is(200)->or( sub { diag $t->tx->res->content->asset->{content}; } ) - ->json_is( "/response/0/deliveryServiceId" => 900 ) - ->json_is( "/response/0/targetId" => 1000 ) ->json_is( "/response/0/value" => 852 ) ->json_is( "/response/0/typeId" => 40 ) , 'Is the steering target returned?'; ok $t->put_ok('/api/1.2/steering/900/targets/1000' => {Accept => 'application/json'} => json => { - "deliveryServiceId" => 900, - "targetId" => 1000, "value" => 999, "typeId" => 40 })