diff options
Diffstat (limited to 'TAO/tests/RTCORBA/Client_Protocol/README')
-rw-r--r-- | TAO/tests/RTCORBA/Client_Protocol/README | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/TAO/tests/RTCORBA/Client_Protocol/README b/TAO/tests/RTCORBA/Client_Protocol/README new file mode 100644 index 00000000000..6f377eb2bd5 --- /dev/null +++ b/TAO/tests/RTCORBA/Client_Protocol/README @@ -0,0 +1,141 @@ +$Id$ + +This is a unit test for RTCORBA::ClientProtocolPolicy. + +Description: +--------- +This test consists of five mini-tests, each exercising +ClientProtocolPolicy in a different configuration: + +1. Invoke an operation on the object that had ClientProtocolPolicy set + on the server side. Make sure the protocol dictated by the policy is + used for communication. + +2. Set ORB-level ClientProtocolPolicy override on the client ORB, and + invoke an operation on an object that had ClientProtocolPolicy set + on the server side. Should receive CORBA::INV_POLICY exception + since the policy is set on both client and server sides. + +3. Set ORB-level ClientProtocolPolicy override on the client ORB, and + invoke an operation on an object that did *not* have + ClientProtocolPolicy set on the server side. Make sure the + protocol dictated by the policy override is used for communication. + +4. Set ClientProtocolPolicy override on the Current level in the + client ORB, and invoke an operation on an object that did *not* + have ClientProtocolPolicy set on the server. The override value is + a sequence of protocols none of which are available in the server + ORB. Should receive CORBA::INV_POLICY exception since none of the + protocols specified in the policy are available for communication. + +5. Set ClientProtocolPolicy override on the Current level in the + client ORB, and invoke an operation on an object that did *not* + have ClientProtocolPolicy set on the server. The override value is + a sequence of two protocols, in which the first protocol isn't + available in the server ORB, and the second protocol is available + in both client and server ORBs. Make sure the second protocol + specified in the override is used for communication. + + +Scenario: + +The server creates two objects: one with ClientProtocolPolicy set and +the other one without the policy being set. The value of the +ClientProtocolPolicy is a single protocol specified using server +command-line option (see Options section below). The client obtains +two object references and uses them to run five tests decribed +above. Finally, the client invokes <shutdown> method on the server to +terminate the processes. + +To run (on Unix): +------- +$./server [-s <ior_output_file1> -c <ior_output_file2> -p <profile_id>] +$./client [-s <ior1> -c <ior2> -p <profile_id>] -ORBdebuglevel 1 + + +Options: +-------- + Server: + +-s <ior_output_file1> Default: test1.ior + Filename for output of IOR for the object that + had ClientProtocolPolicy set on the server. + +-c <ior_output_file2> Default: test2.ior + Filename for output of IOR for the object that + did not have ClientProtocolPolicy set on the + server. + +-p <profile_id> Default: 0 (IIOP) + Protocol used as a ClientProtocolPolicy value + for one of the server's objects. + + Client: + +-s <ior_output_file1> Default: file://test1.ior + IOR for the object that had + ClientProtocolPolicy set on the server. + +-c <ior_output_file2> Default: file://test2.ior + IOR for the object that did not have + ClientProtocolPolicy set on the server. + +-p <profile_id> Default: 0 (IIOP) + Protocol used as a ClientProtocolPolicy value + on the client. + +-ORBdebuglevel 1 Recommended ORB option for the client in order to see + which protocols are being used in each + mini-test for client-server communication. + + + +Expected output: +---------------- +Test 1: invocation should succeed using the protocol specified with + <-p> option to the server. +Tests 2 and 4: should produce INV_POLICY exception. +Tests 3 and 5: invocation should succeed using the protocol specified + with <-p> option to the client. + +Below is the expected output from run_test.pl on a Unix platform. See +run_test.pl for command-line options used for client and server. +NOTE: expected output differs on windows due to UIOP not being +available. + + +********** RTCORBA Client Protocol Policy Unit Test + + +Activated object one as <IOR:000000000000000d49444c3a546573743a312e30000000000000000012000010200000000116163652e63732e777573746c2e6564750000c62d00000023439e940eb000e405a000000010000000100000000000000010000000100000000040000000000054414f000000000100000014000000000001000100000000000101090000000054414f0200000000004000000116163652e63732e777573746c2e6564750000c62d00000000000000116167573746c2e6564750000c62d00000000000000116163652e63732e777573746c2e656475000000000126163652e646f632e777573746c2e65647500c62d0000000000000002000000240000041000500000014000000000000000154414f00000100000001000054414f00000000d0000102661722f746d702f54414f414141514d614f53580000000000002314010f004e535439e940eb00100000001000000000000000100000001000000000400000000000000080000000054414f00014000000000001000100000000000101090000000054414f020000002400000000000000010722f746d702f54414f414141514d614f535800000000000002000000240000000000000001544000000000000000154414f00000100000001000054414f02000000cc00010200000000116167573746c2e6564750061c62e0000002314010f004e535439e940eb000e405a000000010000000000100000001000000000400000000000000080000000054414f00000000010000001400000000000000101090000000054414f02000000220000000000000001000000116163652e63732e564750000c62e00004f5300000002000000240000000000000001544100050000001400000004f000001000000010000> + + +Activated object two as <IOR:000000000000000d49444c3a546573743a312e3000000000000000000ea00010200000000116163652e63732e777573746c2e6564750000c62d0000001b439e940eb000e257a000000000000000100000001000000000300000000000000080000000050100000014000000000001000100000000000101090000000054414f0200000076000000000016163652e63732e777573746c2e6564750000c62d00000000000000116163652e63732e777570009c62d0000cb40000000116163652e63732e777573746c2e6564750000c62d00000000000046f632e777573746c2e65647500c62d0000000054414f000000009c00010200000000162f76654414f414141514d614f535800001b0000001b14010f0052535439e940eb000e257a00000000001030000000300000000000000080000000054414f00000000010000001400000000000100001090000000054414f02000000240000000000000001000000162f7661722f746d702f54414ff535800000054414f020000009600010200000000116163652e63732e777573746c2e65647501b14010f0052535439e940eb000e257a00000000000000010000000100000000030000000000054414f000000000100000014000000000001000100000000000101090000000054414f0200000000001000000116163652e63732e777573746c2e6564750063c62e0000> + +TAO (25450|1) Loaded default protocol <IIOP_Factory> +TAO (25450|1) Loaded default protocol <UIOP_Factory> +TAO (25450|1) Loaded default protocol <SHMIOP_Factory> + + Test 1 +TAO (25450|1) Connector::connect - looking for UIOP connection. +TAO (25450|1) UIOP connection to server <> on 8 +Test method invoked on the sever + + Test 2 +INV_POLICY exception is caught as expected. + + Test 3 +TAO (25450|1) Connector::connect - looking for SHMIOP connection. +TAO (25450|1) SHMIOP connection to server <127.0.0.1:50734> on 9 +Test method invoked on the sever + + Test 4 +INV_POLICY exception is caught as expected. + + Test 5 +TAO (25450|1) Connector::connect - looking for SHMIOP connection. +Test method invoked on the sever + + Testing over +TAO (25450|1) Connector::connect - looking for SHMIOP connection. +Server ORB event loop finished |