1
1
const { Cos } = require ( '../src' ) ;
2
2
const path = require ( 'path' ) ;
3
- const request = require ( 'request-promise-native ' ) ;
3
+ const axios = require ( 'axios ' ) ;
4
4
const { sleep } = require ( '@ygkit/request' ) ;
5
5
6
6
describe ( 'Cos' , ( ) => {
@@ -55,6 +55,8 @@ describe('Cos', () => {
55
55
const websiteInputs = {
56
56
code : {
57
57
src : staticPath ,
58
+ index : 'index.html' ,
59
+ error : 'index.html' ,
58
60
} ,
59
61
bucket : bucket ,
60
62
src : staticPath ,
@@ -71,19 +73,37 @@ describe('Cos', () => {
71
73
const res = await cos . deploy ( inputs ) ;
72
74
await sleep ( 1000 ) ;
73
75
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 ) ;
75
77
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) ;
77
79
} ) ;
78
80
79
81
test ( 'should deploy website success' , async ( ) => {
80
82
const res = await cos . website ( websiteInputs ) ;
81
83
await sleep ( 1000 ) ;
82
84
const websiteUrl = `${ inputs . bucket } .cos-website.${ process . env . REGION } .myqcloud.com` ;
83
85
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` ) ;
85
104
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 ) ;
87
107
} ) ;
88
108
89
109
test ( 'should deploy Cos success with policy' , async ( ) => {
@@ -92,9 +112,9 @@ describe('Cos', () => {
92
112
const res = await cos . deploy ( inputs ) ;
93
113
await sleep ( 1000 ) ;
94
114
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 ) ;
96
116
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) ;
98
118
} ) ;
99
119
100
120
test ( 'should deploy website success with policy' , async ( ) => {
@@ -104,9 +124,9 @@ describe('Cos', () => {
104
124
await sleep ( 1000 ) ;
105
125
const websiteUrl = `${ inputs . bucket } .cos-website.${ process . env . REGION } .myqcloud.com` ;
106
126
const reqUrl = `${ websiteInputs . protocol } ://${ websiteUrl } ` ;
107
- const content = await request . get ( reqUrl ) ;
127
+ const { data } = await axios . get ( reqUrl ) ;
108
128
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) ;
110
130
} ) ;
111
131
112
132
test ( 'should remove Cos success' , async ( ) => {
0 commit comments