11const { Cos } = require ( '../src' ) ;
22const path = require ( 'path' ) ;
3- const request = require ( 'request-promise-native ' ) ;
3+ const axios = require ( 'axios ' ) ;
44const { sleep } = require ( '@ygkit/request' ) ;
55
66describe ( 'Cos' , ( ) => {
@@ -55,6 +55,8 @@ describe('Cos', () => {
5555 const websiteInputs = {
5656 code : {
5757 src : staticPath ,
58+ index : 'index.html' ,
59+ error : 'index.html' ,
5860 } ,
5961 bucket : bucket ,
6062 src : staticPath ,
@@ -71,19 +73,37 @@ describe('Cos', () => {
7173 const res = await cos . deploy ( inputs ) ;
7274 await sleep ( 1000 ) ;
7375 const reqUrl = `https://${ bucket } .cos.${ process . env . REGION } .myqcloud.com/index.html` ;
74- const content = await request . get ( reqUrl ) ;
76+ const { data } = await axios . get ( reqUrl ) ;
7577 expect ( res ) . toEqual ( inputs ) ;
76- expect ( content ) . toMatch ( / S e r v e r l e s s \s F r a m e w o r k / gi) ;
78+ expect ( data ) . toMatch ( / S e r v e r l e s s \s F r a m e w o r k / gi) ;
7779 } ) ;
7880
7981 test ( 'should deploy website success' , async ( ) => {
8082 const res = await cos . website ( websiteInputs ) ;
8183 await sleep ( 1000 ) ;
8284 const websiteUrl = `${ inputs . bucket } .cos-website.${ process . env . REGION } .myqcloud.com` ;
8385 const reqUrl = `${ websiteInputs . protocol } ://${ websiteUrl } ` ;
84- const content = await request . get ( reqUrl ) ;
86+ const { data } = await axios . get ( reqUrl ) ;
87+ try {
88+ await axios . get ( `${ reqUrl } /error.html` ) ;
89+ } catch ( e ) {
90+ expect ( e . response . status ) . toBe ( 404 ) ;
91+ expect ( e . response . data ) . toMatch ( / S e r v e r l e s s \s F r a m e w o r k / gi) ;
92+ }
93+ expect ( res ) . toBe ( websiteUrl ) ;
94+ expect ( data ) . toMatch ( / S e r v e r l e s s \s F r a m e w o r k / gi) ;
95+ } ) ;
96+
97+ test ( 'should deploy website and error code with 200' , async ( ) => {
98+ websiteInputs . disableErrorStatus = true ;
99+ const res = await cos . website ( websiteInputs ) ;
100+ await sleep ( 1000 ) ;
101+ const websiteUrl = `${ inputs . bucket } .cos-website.${ process . env . REGION } .myqcloud.com` ;
102+ const reqUrl = `${ websiteInputs . protocol } ://${ websiteUrl } ` ;
103+ const { data, status } = await axios . get ( `${ reqUrl } /error.html` ) ;
85104 expect ( res ) . toBe ( websiteUrl ) ;
86- expect ( content ) . toMatch ( / S e r v e r l e s s \s F r a m e w o r k / gi) ;
105+ expect ( data ) . toMatch ( / S e r v e r l e s s \s F r a m e w o r k / gi) ;
106+ expect ( status ) . toBe ( 200 ) ;
87107 } ) ;
88108
89109 test ( 'should deploy Cos success with policy' , async ( ) => {
@@ -92,9 +112,9 @@ describe('Cos', () => {
92112 const res = await cos . deploy ( inputs ) ;
93113 await sleep ( 1000 ) ;
94114 const reqUrl = `https://${ bucket } .cos.${ process . env . REGION } .myqcloud.com/index.html` ;
95- const content = await request . get ( reqUrl ) ;
115+ const { data } = await axios . get ( reqUrl ) ;
96116 expect ( res ) . toEqual ( inputs ) ;
97- expect ( content ) . toMatch ( / S e r v e r l e s s \s F r a m e w o r k / gi) ;
117+ expect ( data ) . toMatch ( / S e r v e r l e s s \s F r a m e w o r k / gi) ;
98118 } ) ;
99119
100120 test ( 'should deploy website success with policy' , async ( ) => {
@@ -104,9 +124,9 @@ describe('Cos', () => {
104124 await sleep ( 1000 ) ;
105125 const websiteUrl = `${ inputs . bucket } .cos-website.${ process . env . REGION } .myqcloud.com` ;
106126 const reqUrl = `${ websiteInputs . protocol } ://${ websiteUrl } ` ;
107- const content = await request . get ( reqUrl ) ;
127+ const { data } = await axios . get ( reqUrl ) ;
108128 expect ( res ) . toBe ( websiteUrl ) ;
109- expect ( content ) . toMatch ( / S e r v e r l e s s \s F r a m e w o r k / gi) ;
129+ expect ( data ) . toMatch ( / S e r v e r l e s s \s F r a m e w o r k / gi) ;
110130 } ) ;
111131
112132 test ( 'should remove Cos success' , async ( ) => {
0 commit comments