import SOAP-WSDL 2.00_31 from CPAN
git-cpan-module: SOAP-WSDL git-cpan-version: 2.00_31 git-cpan-authorid: MKUTTER git-cpan-file: authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00_31.tar.gz
This commit is contained in:
committed by
Michael G. Schwern
parent
874251225f
commit
f0b3bdc201
+110
-12
@@ -4,11 +4,9 @@ use Class::Std::Fast;
|
||||
package main;
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 9;
|
||||
use Test::More tests => 21;
|
||||
use_ok qw(SOAP::WSDL::Client::Base);
|
||||
|
||||
my $client = SOAP::WSDL::Client::Base->new();
|
||||
|
||||
{
|
||||
no warnings qw(redefine once);
|
||||
*SOAP::WSDL::Client::call = sub { is $_[1]->{ operation }, 'sayHello', 'Called method';
|
||||
@@ -16,35 +14,41 @@ my $client = SOAP::WSDL::Client::Base->new();
|
||||
};
|
||||
}
|
||||
|
||||
my $client = SOAP::WSDL::Client::Base->new();
|
||||
|
||||
my @result = $client->call({
|
||||
operation => 'sayHello',
|
||||
soap_action => 'urn:HelloWorld#sayHello',
|
||||
style => 'document',
|
||||
body => {
|
||||
|
||||
|
||||
'use' => 'literal',
|
||||
namespace => '',
|
||||
encodingStyle => '',
|
||||
parts => [qw( SOAP::WSDL::XSD::Typelib::Builtin::string )],
|
||||
parts => [qw( SOAP::WSDL::XSD::Typelib::Builtin::string
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::string
|
||||
)],
|
||||
},
|
||||
header => {
|
||||
parts => [qw( SOAP::WSDL::XSD::Typelib::Builtin::string )],
|
||||
parts => [qw( SOAP::WSDL::XSD::Typelib::Builtin::string
|
||||
|
||||
)],
|
||||
},
|
||||
headerfault => {
|
||||
|
||||
|
||||
}
|
||||
}, { value => 'Body' }, { value => 'Header' });
|
||||
|
||||
is $result[0], 'Body';
|
||||
is $result[0]->[0], 'Body';
|
||||
is $result[1], 'Header';
|
||||
isa_ok $result[0], 'SOAP::WSDL::XSD::Typelib::Builtin::string';
|
||||
isa_ok $result[0]->[0], 'SOAP::WSDL::XSD::Typelib::Builtin::string';
|
||||
|
||||
@result = $client->call({
|
||||
operation => 'sayHello',
|
||||
soap_action => 'urn:HelloWorld#sayHello',
|
||||
style => 'document',
|
||||
body => {
|
||||
|
||||
|
||||
'use' => 'literal',
|
||||
namespace => '',
|
||||
encodingStyle => '',
|
||||
@@ -54,9 +58,9 @@ isa_ok $result[0], 'SOAP::WSDL::XSD::Typelib::Builtin::string';
|
||||
parts => [qw( SOAP::WSDL::XSD::Typelib::Builtin::string )],
|
||||
},
|
||||
headerfault => {
|
||||
|
||||
|
||||
}
|
||||
}, SOAP::WSDL::XSD::Typelib::Builtin::string->new({ value => 'Body2' }),
|
||||
}, SOAP::WSDL::XSD::Typelib::Builtin::string->new({ value => 'Body2' }),
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::string->new({ value => 'Header2' })
|
||||
);
|
||||
|
||||
@@ -64,3 +68,97 @@ is $result[0], 'Body2';
|
||||
is $result[1], 'Header2';
|
||||
isa_ok $result[1], 'SOAP::WSDL::XSD::Typelib::Builtin::string';
|
||||
|
||||
# Call with more body parts than parameters. Body parts are empty
|
||||
@result = $client->call({
|
||||
operation => 'sayHello',
|
||||
soap_action => 'urn:HelloWorld#sayHello',
|
||||
style => 'document',
|
||||
body => {
|
||||
|
||||
'use' => 'literal',
|
||||
namespace => '',
|
||||
encodingStyle => '',
|
||||
parts => [qw( SOAP::WSDL::XSD::Typelib::Builtin::string )],
|
||||
},
|
||||
header => {
|
||||
parts => [qw( SOAP::WSDL::XSD::Typelib::Builtin::string )],
|
||||
},
|
||||
headerfault => {
|
||||
|
||||
}
|
||||
}, [],
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::string->new({ value => 'Header2' })
|
||||
);
|
||||
|
||||
isa_ok $result[0], 'SOAP::WSDL::XSD::Typelib::Builtin::string';
|
||||
is $result[0], undef;
|
||||
is $result[1], 'Header2';
|
||||
isa_ok $result[1], 'SOAP::WSDL::XSD::Typelib::Builtin::string';
|
||||
|
||||
# Call with more body parts than parameters. Body parts are empty
|
||||
# No header
|
||||
@result = $client->call({
|
||||
operation => 'sayHello',
|
||||
soap_action => 'urn:HelloWorld#sayHello',
|
||||
style => 'document',
|
||||
body => {
|
||||
|
||||
'use' => 'literal',
|
||||
namespace => '',
|
||||
encodingStyle => '',
|
||||
parts => [qw( SOAP::WSDL::XSD::Typelib::Builtin::string )],
|
||||
},
|
||||
header => {
|
||||
},
|
||||
headerfault => {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
isa_ok $result[0], 'SOAP::WSDL::XSD::Typelib::Builtin::string';
|
||||
is $result[0], undef;
|
||||
|
||||
eval { $client->call({
|
||||
operation => 'sayHello',
|
||||
soap_action => 'urn:HelloWorld#sayHello',
|
||||
style => 'document',
|
||||
body => {
|
||||
|
||||
'use' => 'literal',
|
||||
namespace => '',
|
||||
encodingStyle => '',
|
||||
parts => [qw( SomeStupidClassYouProbablyDontHaveOnYourSystem )],
|
||||
},
|
||||
header => {
|
||||
},
|
||||
headerfault => {
|
||||
|
||||
}
|
||||
})
|
||||
};
|
||||
like $@, qr{ Can't \s locate }xms;
|
||||
|
||||
isa_ok $result[0], 'SOAP::WSDL::XSD::Typelib::Builtin::string';
|
||||
is $result[0], undef;
|
||||
|
||||
eval { $client->call({
|
||||
operation => 'sayHello',
|
||||
soap_action => 'urn:HelloWorld#sayHello',
|
||||
style => 'document',
|
||||
body => {
|
||||
|
||||
'use' => 'literal',
|
||||
namespace => '',
|
||||
encodingStyle => '',
|
||||
parts => [qw( SOAP::WSDL::XSD::Typelib::Builtin::string )],
|
||||
},
|
||||
header => {
|
||||
parts => [qw( SomeOtherStupidClassYouProbablyDontHaveOnYourSystem )],
|
||||
},
|
||||
headerfault => {
|
||||
|
||||
}
|
||||
})
|
||||
};
|
||||
# die $@;
|
||||
like $@, qr{ Can't \s locate }xms;
|
||||
Reference in New Issue
Block a user