/[cwmp]/google/trunk/t/30-server.t
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /google/trunk/t/30-server.t

Parent Directory Parent Directory | Revision Log Revision Log


Revision 77 - (hide annotations)
Fri Jun 22 13:09:08 2007 UTC (17 years ago) by dpavlin
Original Path: google/t/30-server.t
File MIME type: application/x-troff
File size: 4384 byte(s)
added skeleton CWMP::Store using DBM::Deep
1 dpavlin 41 #!/usr/bin/perl
2     use strict;
3     use warnings;
4    
5     my $debug = shift @ARGV;
6    
7 dpavlin 77 use Test::More tests => 16;
8 dpavlin 41 use Data::Dump qw/dump/;
9 dpavlin 77 use Cwd qw/abs_path/;
10 dpavlin 41 use blib;
11    
12     BEGIN {
13     use_ok('Net::HTTP');
14     use_ok('CWMP::Server');
15     }
16    
17     my $port = 4242;
18    
19     eval {
20     $SIG{ALRM} = sub { die; };
21     alarm 30;
22     };
23    
24 dpavlin 77 ok(my $abs_path = abs_path($0), "abs_path");
25     $abs_path =~ s!/[^/]*$!/!; #!fix-vim
26    
27     ok( my $server = CWMP::Server->new({
28     debug => $debug,
29     port => $port,
30     store_path => "$abs_path/var/state.db",
31     }), 'new' );
32 dpavlin 41 isa_ok( $server, 'CWMP::Server' );
33    
34     my $pid;
35    
36     if ( $pid = fork ) {
37     ok( $pid, 'fork ');
38     diag "forked $pid";
39     } elsif (defined($pid)) {
40     # child
41     $server->run;
42     exit;
43     } else {
44     die "can't fork";
45     }
46    
47     ok( my $s = Net::HTTP->new(Host => "localhost:$port"), 'client' );
48 dpavlin 42 $s->keep_alive( 1 );
49 dpavlin 41
50     ok( $s->write_request(
51     POST => '/',
52     'Transfer-Encoding' => 'chunked',
53     'SOAPAction' => '',
54     'Content-Type' => 'text/xml',
55     ), 'write_request' );
56    
57     foreach my $chunk (qq{
58    
59     <soapenv:Envelope soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-0">
60     <soapenv:Header>
61     <cwmp:ID soapenv:mustUnderstand="1">1_THOM_TR69_ID</cwmp:ID>
62     </soapenv:Header>
63     <soapenv:Body>
64     <cwmp:Inform>
65     <DeviceId>
66     <Manufacturer>THOMSON</Manufacturer>
67     <OUI>00147F</OUI>
68     <ProductClass>SpeedTouch 780</ProductClass>
69     <SerialNumber>CP0644JTHJ4</SerialNumber>
70     </DeviceId>
71     <Event soap:arrayType="cwmp:EventStruct[03]">
72     <EventStruct>
73     <EventCode>0 BOOTSTRAP</EventCode>
74     <CommandKey></CommandKey>
75     </EventStruct>
76     <EventStruct>
77     <Event},qq{Code>1 BOOT</EventCode>
78     <CommandKey></CommandKey>
79     </EventStruct>
80     <EventStruct>
81     <EventCode>4 VALUE CHANGE</EventCode>
82     <CommandKey></CommandKey>
83     </EventStruct>
84     </Event>
85     <MaxEnvelopes>2</MaxEnvelopes>
86     <CurrentTime>1970-01-01T00:04:33Z</CurrentTime>
87     <RetryCount>01</RetryCount>},qq{
88     <ParameterList soap:arrayType="cwmp:ParameterValueStruct[12]">
89     <ParameterValueStruct>
90     <Name>InternetGatewayDevice.DeviceSummary</Name>
91     <Value xsi:type="xsd:string">InternetGatewayDevice:1.1[] (Baseline:1, EthernetLAN:1, ADSLWAN:1, Bridging:1, Time:1, WiFiLAN:1)</Value>
92     </ParameterValueStruct>
93     <ParameterValueStruct>
94     <Name>}, qq{
95     InternetGatewayDevice.DeviceInfo.SpecVersion</Name>
96     <Value xsi:type="xsd:string">1.1</Value>
97     </ParameterValueStruct>
98     <ParameterValueStruct>
99     <Name>InternetGatewayDevice.DeviceInfo.HardwareVersion</Name>
100     <Value xsi:type="xsd:string">BANT-R</Value>
101     </ParameterValueStruct>
102     <ParameterValueStruct>
103     <Name>InternetGatewayDevice.DeviceInfo.SoftwareVersion</Name>
104     <Value xsi:type="xsd:string">6.2.15.5</Value>
105     </ParameterValueStruct>
106     <ParameterValueStruct>
107     <Name>InternetGatewayDevice.DeviceInfo.ProvisioningCode</Name>
108     <Value xsi:type="xsd:string"></Value>
109     </ParameterValueStruct>
110     <ParameterValueStruct>
111     <Name>InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Name</Name>
112     <Value xsi:type="xsd:string">Routed PPPoE on 0/35 and 8/35</Value>
113     </ParameterValueStruct>
114     <ParameterValueStruct>
115     <Name>InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Version</Name>
116     <Value xsi:type="xsd:string"></Value>
117     </ParameterValueStruct>
118     <ParameterValueStruct>
119     <Name>InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Date</Name>
120     <Value xsi:type="xsd:dateTime">0000-00-00T00:00:00</Value>
121     </ParameterValueStruct>
122     <ParameterValueStruct>
123     <Name>InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Description</Name>
124     <Value xsi:type="xsd:string">Factory Defaults</Value>
125     </ParameterValueStruct>
126     <ParameterValueStruct>
127     <Name>InternetGatewayDevice.ManagementServer.ConnectionRequestURL</Name>
128     <Value}, qq{ xsi:type="xsd:string">http://192.168.1.254:51005/</Value>
129     </ParameterValueStruct>
130     <ParameterValueStruct>
131     <Name>InternetGatewayDevice.ManagementServer.ParameterKey</Name>
132     <Value xsi:type="xsd:string"></Value>
133     </ParameterValueStruct>
134     <ParameterValueStruct>
135     <Name>.ExternalIPAddress</Name>
136     <Value xsi:type="xsd:string">192.168.1.254</Value>
137     </ParameterValueStruct>
138     </ParameterList>
139     </cwmp:Inform>
140     </soapenv:Body>
141     </soapenv:Envelope>
142     } ) {
143     ok( $s->write_chunk( $chunk ), "chunk " . length($chunk) . " bytes" );
144     }
145     ok( $s->write_chunk_eof, 'write_chunk_eof' );
146    
147     ok( kill(1,$pid), 'kill ' . $pid );
148    
149     ok( waitpid($pid,0), 'waitpid' );

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26