From 6cc6f21fa93cbc84b2ab0a49575ee408a61454a7 Mon Sep 17 00:00:00 2001 From: Irina Peshinskaya Date: Thu, 4 Jan 2018 18:46:31 +0200 Subject: [PATCH] TT#28510 Fix tests masked by empty total_count for preferences Change-Id: I383cc637942317f9a3b02171c039e861237a93bb --- t/api-rest/api-peeringservers.t | 1 + t/api-rest/api-preferences.t | 28 +++++++++++++++++++++------- t/lib/Test/Collection.pm | 1 + 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/t/api-rest/api-peeringservers.t b/t/api-rest/api-peeringservers.t index 2b9eb955ea..00cc34ae55 100644 --- a/t/api-rest/api-peeringservers.t +++ b/t/api-rest/api-peeringservers.t @@ -30,6 +30,7 @@ $fake_data->set_data_from_script({ enabled => '1', }, query => ['group_id','name'], + 'uniquizer_cb' => sub { Test::FakeData::string_uniquizer(\$_[0]->{name}); }, }, }); diff --git a/t/api-rest/api-preferences.t b/t/api-rest/api-preferences.t index 227f804dfc..2b1885d966 100644 --- a/t/api-rest/api-preferences.t +++ b/t/api-rest/api-preferences.t @@ -25,6 +25,7 @@ $fake_data->set_data_from_script({ profile_id => sub { return shift->get_id('subscriberprofiles',@_); }, pbxdevice_id => sub { return shift->get_id('pbxdevicemodels',@_); }, pbxdeviceprofile_id => sub { return shift->get_id('pbxdeviceprofiles',@_); }, + emergencymappingcontainer_id => sub { return shift->get_id('emergencymappingcontainers',@_); }, rewriteruleset_id => sub { return shift->get_id('rewriterulesets',@_); }, soundset_id => sub { return shift->get_id('soundsets',@_); }, @@ -73,7 +74,7 @@ foreach my $api (@apis){ } } #foreach my $preference_enum_value(@{$preference->{enum_values}}){ - # + # #} }elsif('string' eq $preference->{data_type}){ $value = get_preference_existen_value($preference) // "test_api preference string"; @@ -107,17 +108,30 @@ sub get_preference_existen_value{ my $preference = shift; my $res; if($preference->{name}=~/^rewrite_rule_set$/){ - $res = $fake_data->{data}->{rewriterulesets}->{data}->{name}; - }elsif($preference->{name}=~/^(adm_)?ncos$/){ - $res = $fake_data->{data}->{ncoslevels}->{data}->{level}; + $res = get_fake_data_created_or_data('rewriterulesets','name'); + }elsif($preference->{name}=~/^(adm_)?(cf_)?ncos$/){ + $res = get_fake_data_created_or_data('ncoslevels','level'); }elsif($preference->{name}=~/^(contract_)?sound_set$/){ - $res = $fake_data->{data}->{soundsets}->{data}->{name}; + $res = get_fake_data_created_or_data('soundsets','name'); + }elsif($preference->{name}=~/^emergency_mapping_container$/){ + $res = get_fake_data_created_or_data('emergencymappingcontainers','name'); }elsif($preference->{name}=~/^(man_)?allowed_ips_grp$/){ - $res= 'no_process'; + $res = 'no_process'; } return $res; } +sub get_fake_data_created_or_data{ + my($collection_name, $field, $number) = @_; + $number //= 0; + my $res = $fake_data->created->{$collection_name} + ? + $fake_data->created->{$collection_name}->{values}->[$number]->{content}->{$field} + : + $fake_data->{data}->{$collection_name}->{data}->{$field}; + return $res; +} + __DATA__ 'lbrtp_set' => { @@ -139,5 +153,5 @@ __DATA__ 'label' => 'The cluster set used for SIP lb and RTP', 'description' => 'Use a particular cluster set of load-balancers for SIP towards this endpoint (only for peers, as for subscribers it is defined by Path during registration) and of RTP relays (both peers and subscribers).' }, - + # vim: set tabstop=4 expandtab: diff --git a/t/lib/Test/Collection.pm b/t/lib/Test/Collection.pm index 64faa6c8dd..2ee3e4bd82 100644 --- a/t/lib/Test/Collection.pm +++ b/t/lib/Test/Collection.pm @@ -276,6 +276,7 @@ sub _create_ua { sub init_ssl_cert { my ($self, $ua, $role) = @_; + $role //= 'default'; if($role ne "default" && $role ne "admin" && $role ne "reseller") { $ua->ssl_opts( SSL_cert_file => undef,