/[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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

google/t/30-server.t revision 42 by dpavlin, Tue Jun 19 18:37:24 2007 UTC google/trunk/t/30-server.t revision 112 by dpavlin, Fri Oct 26 11:42:39 2007 UTC
# Line 4  use warnings; Line 4  use warnings;
4    
5  my $debug = shift @ARGV;  my $debug = shift @ARGV;
6    
7  use Test::More tests => 15;  use Test::More tests => 19;
8  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
9    use Cwd qw/abs_path/;
10  use blib;  use blib;
11    
12  BEGIN {  BEGIN {
13          use_ok('Net::HTTP');          use_ok('Net::HTTP');
14          use_ok('CWMP::Server');          use_ok('CWMP::Server');
15            use_ok('CWMP::Store');
16  }  }
17    
18  my $port = 4242;  my $port = 4242;
# Line 20  eval { Line 22  eval {
22          alarm 30;          alarm 30;
23  };  };
24    
25  ok( my $server = CWMP::Server->new({ debug => $debug, port => $port }), 'new' );  ok(my $abs_path = abs_path($0), "abs_path");
26    $abs_path =~ s!/[^/]*$!/!;      #!fix-vim
27    
28    my $store_path = "$abs_path/var/state.db";
29    unlink $store_path if -e $store_path;
30    
31    ok( my $server = CWMP::Server->new({
32            debug => $debug,
33            port => $port,
34            store_path => $store_path,
35    }), 'new' );
36  isa_ok( $server, 'CWMP::Server' );  isa_ok( $server, 'CWMP::Server' );
37    
38  my $pid;  my $pid;
# Line 36  if ( $pid = fork ) { Line 48  if ( $pid = fork ) {
48          die "can't fork";          die "can't fork";
49  }  }
50    
51    sleep 1;        # so server can start
52    
53  ok( my $s = Net::HTTP->new(Host => "localhost:$port"), 'client' );  ok( my $s = Net::HTTP->new(Host => "localhost:$port"), 'client' );
54  $s->keep_alive( 1 );  $s->keep_alive( 1 );
55    
# Line 136  InternetGatewayDevice.DeviceInfo.SpecVer Line 150  InternetGatewayDevice.DeviceInfo.SpecVer
150  }  }
151  ok( $s->write_chunk_eof, 'write_chunk_eof' );  ok( $s->write_chunk_eof, 'write_chunk_eof' );
152    
153  ok( kill(1,$pid), 'kill ' . $pid );  sleep 1;
154    
155    ok( my $store = CWMP::Store->new({ path => $store_path, debug => $debug }), 'another store' );
156    
157    my $state = {
158      CurrentTime    => "1970-01-01T00:04:33Z",
159      DeviceID       => {
160                          Manufacturer => "THOMSON",
161                          OUI => "00147F",
162                          ProductClass => "SpeedTouch 780",
163                          SerialNumber => "CP0644JTHJ4",
164                        },
165      EventStruct    => ["0 BOOTSTRAP", "1 BOOT", "4 VALUE CHANGE"],
166      ID             => "1_THOM_TR69_ID",
167      MaxEnvelopes   => 2,
168      NoMoreRequests => undef,
169      Parameter      => {
170                          "\nInternetGatewayDevice.DeviceInfo.SpecVersion"                  => "1.1",
171                          ".ExternalIPAddress"                                              => "192.168.1.254",
172                          "InternetGatewayDevice.DeviceInfo.HardwareVersion"                => "BANT-R",
173                          "InternetGatewayDevice.DeviceInfo.ProvisioningCode"               => undef,
174                          "InternetGatewayDevice.DeviceInfo.SoftwareVersion"                => "6.2.15.5",
175                          "InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Date"        => "0000-00-00T00:00:00",
176                          "InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Description" => "Factory Defaults",
177                          "InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Name"        => "Routed PPPoE on 0/35 and 8/35",
178                          "InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Version"     => undef,
179                          "InternetGatewayDevice.DeviceSummary"                             => "InternetGatewayDevice:1.1[] (Baseline:1, EthernetLAN:1, ADSLWAN:1, Bridging:1, Time:1, WiFiLAN:1)",
180                          "InternetGatewayDevice.ManagementServer.ConnectionRequestURL"     => "http://192.168.1.254:51005/",
181                          "InternetGatewayDevice.ManagementServer.ParameterKey"             => undef,
182                        },
183      RetryCount     => "01",
184      _dispatch      => "InformResponse",
185    };
186    
187    is_deeply( $store->state( ID => '1_THOM_TR69_ID' ), $state, 'new store->state' );
188    
189    ok( kill(9,$pid), 'kill ' . $pid );
190    
191  ok( waitpid($pid,0), 'waitpid' );  ok( waitpid($pid,0), 'waitpid' );

Legend:
Removed from v.42  
changed lines
  Added in v.112

  ViewVC Help
Powered by ViewVC 1.1.26