| 
									
										
										
										
											2001-07-31 13:34:45 +00:00
										 |  |  | #!/usr/bin/perl | 
					
						
							| 
									
										
										
										
											2004-01-09 14:33:03 +00:00
										 |  |  | use strict; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-07-31 13:34:45 +00:00
										 |  |  | $|=1; | 
					
						
							| 
									
										
										
										
											2004-01-09 14:33:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Setup some variables | 
					
						
							|  |  |  | my %AGI; my $tests = 0; my $fail = 0; my $pass = 0; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-07-31 13:34:45 +00:00
										 |  |  | while(<STDIN>) { | 
					
						
							|  |  |  | 	chomp; | 
					
						
							|  |  |  | 	last unless length($_); | 
					
						
							|  |  |  | 	if (/^agi_(\w+)\:\s+(.*)$/) { | 
					
						
							|  |  |  | 		$AGI{$1} = $2; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | print STDERR "AGI Environment Dump:\n"; | 
					
						
							| 
									
										
										
										
											2004-01-09 14:33:03 +00:00
										 |  |  | foreach my $i (sort keys %AGI) { | 
					
						
							| 
									
										
										
										
											2001-07-31 13:34:45 +00:00
										 |  |  | 	print STDERR " -- $i = $AGI{$i}\n"; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sub checkresult { | 
					
						
							|  |  |  | 	my ($res) = @_; | 
					
						
							|  |  |  | 	my $retval; | 
					
						
							|  |  |  | 	$tests++; | 
					
						
							|  |  |  | 	chomp $res; | 
					
						
							|  |  |  | 	if ($res =~ /^200/) { | 
					
						
							|  |  |  | 		$res =~ /result=(-?\d+)/; | 
					
						
							|  |  |  | 		if (!length($1)) { | 
					
						
							|  |  |  | 			print STDERR "FAIL ($res)\n"; | 
					
						
							|  |  |  | 			$fail++; | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 			print STDERR "PASS ($1)\n"; | 
					
						
							|  |  |  | 			$pass++; | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} else { | 
					
						
							|  |  |  | 		print STDERR "FAIL (unexpected result '$res')\n"; | 
					
						
							|  |  |  | 		$fail++; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | print STDERR "1.  Testing 'sendfile'..."; | 
					
						
							|  |  |  | print "STREAM FILE beep \"\"\n"; | 
					
						
							| 
									
										
										
										
											2004-01-09 14:33:03 +00:00
										 |  |  | my $result = <STDIN>; | 
					
						
							|  |  |  | &checkresult($result); | 
					
						
							| 
									
										
										
										
											2001-07-31 13:34:45 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | print STDERR "2.  Testing 'sendtext'..."; | 
					
						
							|  |  |  | print "SEND TEXT \"hello world\"\n"; | 
					
						
							| 
									
										
										
										
											2004-01-09 14:33:03 +00:00
										 |  |  | my $result = <STDIN>; | 
					
						
							|  |  |  | &checkresult($result); | 
					
						
							| 
									
										
										
										
											2001-07-31 13:34:45 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | print STDERR "3.  Testing 'sendimage'..."; | 
					
						
							|  |  |  | print "SEND IMAGE asterisk-image\n"; | 
					
						
							| 
									
										
										
										
											2004-01-09 14:33:03 +00:00
										 |  |  | my $result = <STDIN>; | 
					
						
							|  |  |  | &checkresult($result); | 
					
						
							| 
									
										
										
										
											2001-07-31 13:34:45 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | print STDERR "4.  Testing 'saynumber'..."; | 
					
						
							|  |  |  | print "SAY NUMBER 192837465 \"\"\n"; | 
					
						
							| 
									
										
										
										
											2004-01-09 14:33:03 +00:00
										 |  |  | my $result = <STDIN>; | 
					
						
							|  |  |  | &checkresult($result); | 
					
						
							| 
									
										
										
										
											2001-07-31 13:34:45 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | print STDERR "5.  Testing 'waitdtmf'..."; | 
					
						
							|  |  |  | print "WAIT FOR DIGIT 1000\n"; | 
					
						
							| 
									
										
										
										
											2004-01-09 14:33:03 +00:00
										 |  |  | my $result = <STDIN>; | 
					
						
							|  |  |  | &checkresult($result); | 
					
						
							| 
									
										
										
										
											2001-07-31 13:34:45 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | print STDERR "6.  Testing 'record'..."; | 
					
						
							|  |  |  | print "RECORD FILE testagi gsm 1234 3000\n"; | 
					
						
							| 
									
										
										
										
											2004-01-09 14:33:03 +00:00
										 |  |  | my $result = <STDIN>; | 
					
						
							|  |  |  | &checkresult($result); | 
					
						
							| 
									
										
										
										
											2001-07-31 13:34:45 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | print STDERR "6a.  Testing 'record' playback..."; | 
					
						
							|  |  |  | print "STREAM FILE testagi \"\"\n"; | 
					
						
							| 
									
										
										
										
											2004-01-09 14:33:03 +00:00
										 |  |  | my $result = <STDIN>; | 
					
						
							|  |  |  | &checkresult($result); | 
					
						
							| 
									
										
										
										
											2001-07-31 13:34:45 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | print STDERR "================== Complete ======================\n"; | 
					
						
							|  |  |  | print STDERR "$tests tests completed, $pass passed, $fail failed\n"; | 
					
						
							|  |  |  | print STDERR "==================================================\n"; |