1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of SSRS_Soap_NTLMTest
*
* @author Andrew Lowe
*/
require_once('library/SSRS/Soap/NTLM.php');
require_once('library/SSRS/Soap/Exception.php');
require_once('vfsStream/vfsStream.php');
class SSRS_Soap_NTLMTest extends PHPUnit_Framework_TestCase {
public function testFetchWSDLCallsCurlWithUri() {
$arguments = array(
'http://localhost/soap/ms.wsdl.xml',
array(
'username' => 'test',
'password' => 'test1'
)
);
$SOAP = $this->getMock('SSRS_Soap_NTLM', array('_callCurl'), $arguments);
$SOAP->expects($this->once())
->method('_callCurl')
->with($this->equalTo('http://localhost/soap/ms.wsdl.xml'));
$SOAP->fetchWSDL();
}
public function testSetUsernameReturnsInstance() {
$SOAP = new SSRS_Soap_NTLM('http://');
$result = $SOAP->setUsername('test');
$this->assertEquals($SOAP, $result);
$this->assertInstanceOf('SSRS_Soap_NTLM', $result);
}
public function testSetPasswordReturnsInstance() {
$SOAP = new SSRS_Soap_NTLM('http://');
$result = $SOAP->setPassword('test1');
$this->assertEquals($SOAP, $result);
$this->assertInstanceOf('SSRS_Soap_NTLM', $result);
}
/**
* @expectedException SSRS_Soap_Exception
*/
public function testSetCacheThrowsExceptionWithInvalidPath() {
vfsStreamWrapper::register();
vfsStreamWrapper::setRoot(new vfsStreamDirectory('tmp'));
$SOAP = new SSRS_Soap_NTLM('http://');
$SOAP->setCachePath(vfsStream::url('tmp/missing/file.wsdl'));
}
public function testSetCacheIsSetWithWriteableDirectory() {
vfsStreamWrapper::register();
vfsStreamWrapper::setRoot(new vfsStreamDirectory('tmp'));
$SOAP = new SSRS_Soap_NTLM('http://');
$SOAP->setCachePath(vfsStream::url('tmp/file.wsdl'));
$this->assertEquals('vfs://tmp/file.wsdl', $SOAP->getCachePath());
}
/**
* @depends testSetCacheIsSetWithWriteableDirectory
*/
public function testCacheWSDLIsOutputtedValid() {
vfsStreamWrapper::register();
vfsStreamWrapper::setRoot(new vfsStreamDirectory('tmp'));
$content = 'Hesaklk;k;dfs';
$SOAP = $this->getMock('SSRS_Soap_NTLM', array('setCacheWSDLPermission'), array('http://'));
$SOAP->expects($this->once())
->method('setCacheWSDLPermission');
$SOAP->setCachePath(vfsStream::url('tmp/file.wsdl'));
$SOAP->cacheWSDL($content);
$output = $SOAP->getCacheWSDL();
$this->assertEquals($output, $content);
}
public function testCacheWSDLIsWorldWritable() {
vfsStreamWrapper::register();
vfsStreamWrapper::setRoot(new vfsStreamDirectory('tmp'));
$SOAP = $this->getMock('SSRS_Soap_NTLM', array('setCacheWSDLPermission'), array('http://'));
$SOAP->expects($this->once())
->method('setCacheWSDLPermission')
->with($this->equalTo(0666));
$SOAP->setCachePath(vfsStream::url('tmp/file.wsdl'))
->cacheWSDL('$fileContents');
}
}
?>
|