MT#14653 Fix the tests

Mess with name of the collection for fake data should be refactored.

Change-Id: I273cfad940f46d12df19a0774aa3b88e47687151
changes/74/2374/4
Irina Peshinskaya 10 years ago
parent 602f0a6f7a
commit faabf6b55a

@ -25,10 +25,10 @@ $fake_data->set_data_from_script({
code => 'apitestcode',
customer_id => undef,
package_id => undef,
reseller_id => sub { return shift->get_id('resellers', @_); },,
reseller_id => sub { return shift->get_id('resellers', @_); },
valid_until => '2037-01-01 12:00:00',
},
'query' => ['code'],
'query' => ['code','reseller_id'],
},
});
@ -36,7 +36,7 @@ $test_machine->DATA_ITEM_STORE($fake_data->process('vouchers'));
$test_machine->form_data_item( );
# create 3 new vouchers from DATA_ITEM
$test_machine->check_create_correct( 3, sub{ $_[0]->{code} .= $_[1]->{i} ; } );
$test_machine->check_create_correct( 3, sub{ $_[0]->{code} .= time().'_'.$_[1]->{i} ; } );
$test_machine->check_get2put();
$test_machine->check_bundle();

@ -229,8 +229,9 @@ sub get_id_from_created{
return $id;
}
sub get_hal_name{
my($self) = @_;
return "ngcp:".$self->name;
my($self,$name) = @_;
$name //= $self->name;
return "ngcp:".$name;
}
sub restore_uri_custom{
my($self) = @_;
@ -243,19 +244,21 @@ sub get_uri_collection{
return $self->base_uri."/api/".$name.($name ? "/" : "").($self->QUERY_PARAMS ? "?".$self->QUERY_PARAMS : "");
}
sub get_uri_get{
my($self,$query_string) = @_;
return $self->base_uri."/api/".$self->name.($query_string ? '/?' : '/' ).$query_string;
my($self,$query_string, $name) = @_;
$name //= $self->name;
return $self->base_uri."/api/".$name.($query_string ? '/?' : '/' ).$query_string;
}
sub get_uri{
my($self,$add) = @_;
my($self,$add,$name) = @_;
$add //= '';
return $self->base_uri."/api/".$self->name.'/'.$add;
$name //= $self->name;
return $self->base_uri."/api/".$name.'/'.$add;
}
sub get_uri_firstitem{
my($self) = @_;
my($self,$name) = @_;
if(!$self->DATA_CREATED->{FIRST}){
my($res,$list_collection,$req) = $self->check_item_get($self->get_uri_collection."?page=1&rows=1");
my $hal_name = $self->get_hal_name;
my $hal_name = $self->get_hal_name($name);
if(ref $list_collection->{_links}->{$hal_name} eq "HASH") {
$self->DATA_CREATED->{FIRST} = $list_collection->{_links}->{$hal_name}->{href};
} else {
@ -291,7 +294,15 @@ sub encode_content{
sub request{
my($self,$req) = @_;
#print $req->as_string;
return $self->ua->request($req);
my $res = $self->ua->request($req);
#draft of the debug mode
#if($res->code >= 400){
# print Dumper $req;
# print Dumper $res;
# print Dumper $res->decoded_content ? JSON::from_json($res->decoded_content) : '';;
# die;
#}
return $res;
}
sub request_process{
@ -385,11 +396,9 @@ sub request_delete{
}
sub request_get{
my($self,$uri) = @_;
print ">>>>>>>>>>>>>>>>>>>>>> fooooo\n";
$uri ||= $self->get_uri_current;
my $req = HTTP::Request->new('GET', $uri);
my $res = $self->request($req);
use Data::Dumper; print Dumper $res;
my $content = $res->decoded_content ? JSON::from_json($res->decoded_content) : '';
return wantarray ? ($res, $content, $req) : $res;
}

@ -11,6 +11,7 @@ use Data::Dumper;
use Test::DeepHashUtils qw(reach nest deepvalue);
use Clone qw/clone/;
use File::Slurp qw/read_file/;
use URI::Escape;
has 'test_machine' =>(
is => 'rw',
@ -323,11 +324,12 @@ sub load_db{
$data //= $self->data;
$collections_slice //= [keys %$data];
foreach my $collection_name( @$collections_slice ){
#print "collection_name=$collection_name;\n";
#print "load_db: collection_name=$collection_name;\n";
if((!exists $self->loaded->{$collection_name}) && $data->{$collection_name}->{query}){
my(undef,$content) = $self->search_item($collection_name,$data);
#print Dumper $content;
if($content->{total_count}){
my $values = $content->{_embedded}->{$self->test_machine->get_hal_name};
my $values = $content->{_embedded}->{$self->test_machine->get_hal_name($collection_name)};
$values = ('HASH' eq ref $values) ? [$values] : $values;
$self->loaded->{$collection_name} = [ map {
{
@ -354,7 +356,7 @@ sub clear_db{
}
my(undef,$content) = $self->search_item($collection_name,$data);
if($content->{total_count}){
my $values = $content->{_links}->{$self->test_machine->get_hal_name};
my $values = $content->{_links}->{$self->test_machine->get_hal_name($collection_name)};
$values = ('HASH' eq ref $values) ? [$values] : $values;
my @locations = map {$_->{href}} @$values;
if($data->{$collection_name}->{no_delete_available}){
@ -394,14 +396,13 @@ sub search_item{
if('CODE' eq ref $search_value){
$search_value = $search_value->($self);
}
$field_name.'='.$search_value;
$field_name.'='.uri_escape($search_value);
} @{$item->{query}}
);
my $name_prev = $self->test_machine->{name};
$name_prev //= $collection_name;
$self->test_machine->name($collection_name);
my($res, $content, $req) = $self->test_machine->check_item_get($self->test_machine->get_uri_get($query_string));
$self->test_machine->name($name_prev);
$name_prev and $self->test_machine->name($name_prev);
#time for memoize?
$self->searched->{$collection_name} = [$res, $content, $req];
return ($res, $content, $req);

Loading…
Cancel
Save