11var chai = require ( 'chai' ) ;
22var assert = chai . assert ;
3+ var http = require ( 'http' ) ;
4+ var https = require ( 'https' ) ;
35var SandboxedModule = require ( 'sandboxed-module' ) ;
46
57SandboxedModule . registerBuiltInSourceTransformer ( 'istanbul' ) ;
@@ -13,13 +15,58 @@ var HttpProvider = SandboxedModule.require('../packages/web3-providers-http', {
1315
1416describe ( 'web3-providers-http' , function ( ) {
1517 describe ( 'prepareRequest' , function ( ) {
18+ let provider ;
19+ let result ;
20+ let options ;
21+ let agent ;
22+
1623 it ( 'should set request header' , function ( ) {
17- var provider = new HttpProvider ( 'http://localhost:8545' , { headers : [ { name : 'Access-Control-Allow-Origin' , value : '*' } ] } ) ;
18- var result = provider . _prepareRequest ( ) ;
24+ provider = new HttpProvider ( 'http://localhost:8545' , { headers : [ { name : 'Access-Control-Allow-Origin' , value : '*' } ] } ) ;
25+ result = provider . _prepareRequest ( ) ;
1926
2027 assert . equal ( typeof result , 'object' ) ;
2128 assert . equal ( result . headers [ 'Access-Control-Allow-Origin' ] , '*' ) ;
2229 } ) ;
30+
31+ it ( 'should use the passed custom http agent' , function ( ) {
32+ agent = new http . Agent ( ) ;
33+ options = { agent : { http : agent } } ;
34+ provider = new HttpProvider ( 'http://localhost:8545' , options ) ;
35+ result = provider . _prepareRequest ( ) ;
36+
37+ assert . equal ( typeof result , 'object' ) ;
38+ assert . equal ( result . agents . httpAgent , agent ) ;
39+ assert . equal ( provider . httpAgent , undefined ) ;
40+ assert . equal ( provider . httpsAgent , undefined ) ;
41+ assert . equal ( provider . agent , options . agent ) ;
42+ } ) ;
43+
44+ it ( 'should use the passed custom https agent' , function ( ) {
45+ agent = new https . Agent ( ) ;
46+ options = { agent : { https : agent } } ;
47+ provider = new HttpProvider ( 'http://localhost:8545' , options ) ;
48+ result = provider . _prepareRequest ( ) ;
49+
50+ assert . equal ( typeof result , 'object' ) ;
51+ assert . equal ( result . agents . httpsAgent , agent ) ;
52+ assert . equal ( provider . httpAgent , undefined ) ;
53+ assert . equal ( provider . httpsAgent , undefined ) ;
54+ assert . equal ( provider . agent , options . agent ) ;
55+ } ) ;
56+
57+ it ( 'should use the passed baseUrl' , function ( ) {
58+ agent = new https . Agent ( ) ;
59+ options = { agent : { https : agent , baseUrl : 'base' } } ;
60+ provider = new HttpProvider ( 'http://localhost:8545' , options ) ;
61+ result = provider . _prepareRequest ( ) ;
62+
63+ assert . equal ( typeof result , 'object' ) ;
64+ assert . equal ( result . agents . httpsAgent , agent ) ;
65+ assert . equal ( result . agents . baseUrl , 'base' ) ;
66+ assert . equal ( provider . httpAgent , undefined ) ;
67+ assert . equal ( provider . httpsAgent , undefined ) ;
68+ assert . equal ( provider . agent , options . agent ) ;
69+ } ) ;
2370 } ) ;
2471
2572 describe ( 'send' , function ( ) {
0 commit comments