@@ -17,11 +17,12 @@ import (
1717 "github.com/google/go-cmp/cmp"
1818)
1919
20- func TestRepositoriesService_EnablePages (t * testing.T ) {
20+ func TestRepositoriesService_EnablePagesLegacy (t * testing.T ) {
2121 client , mux , _ , teardown := setup ()
2222 defer teardown ()
2323
2424 input := & Pages {
25+ BuildType : String ("legacy" ),
2526 Source : & PagesSource {
2627 Branch : String ("master" ),
2728 Path : String ("/" ),
@@ -35,12 +36,12 @@ func TestRepositoriesService_EnablePages(t *testing.T) {
3536
3637 testMethod (t , r , "POST" )
3738 testHeader (t , r , "Accept" , mediaTypeEnablePagesAPIPreview )
38- want := & createPagesRequest {Source : & PagesSource {Branch : String ("master" ), Path : String ("/" )}}
39+ want := & createPagesRequest {BuildType : String ( "legacy" ), Source : & PagesSource {Branch : String ("master" ), Path : String ("/" )}}
3940 if ! cmp .Equal (v , want ) {
4041 t .Errorf ("Request body = %+v, want %+v" , v , want )
4142 }
4243
43- fmt .Fprint (w , `{"url":"u","status":"s","cname":"c","custom_404":false,"html_url":"h", "source": {"branch":"master", "path":"/"}}` )
44+ fmt .Fprint (w , `{"url":"u","status":"s","cname":"c","custom_404":false,"html_url":"h","build_type": "legacy", "source": {"branch":"master", "path":"/"}}` )
4445 })
4546
4647 ctx := context .Background ()
@@ -49,7 +50,7 @@ func TestRepositoriesService_EnablePages(t *testing.T) {
4950 t .Errorf ("Repositories.EnablePages returned error: %v" , err )
5051 }
5152
52- want := & Pages {URL : String ("u" ), Status : String ("s" ), CNAME : String ("c" ), Custom404 : Bool (false ), HTMLURL : String ("h" ), Source : & PagesSource {Branch : String ("master" ), Path : String ("/" )}}
53+ want := & Pages {URL : String ("u" ), Status : String ("s" ), CNAME : String ("c" ), Custom404 : Bool (false ), HTMLURL : String ("h" ), BuildType : String ( "legacy" ), Source : & PagesSource {Branch : String ("master" ), Path : String ("/" )}}
5354
5455 if ! cmp .Equal (page , want ) {
5556 t .Errorf ("Repositories.EnablePages returned %v, want %v" , page , want )
@@ -70,26 +71,116 @@ func TestRepositoriesService_EnablePages(t *testing.T) {
7071 })
7172}
7273
73- func TestRepositoriesService_UpdatePages (t * testing.T ) {
74+ func TestRepositoriesService_EnablePagesWorkflow (t * testing.T ) {
75+ client , mux , _ , teardown := setup ()
76+ defer teardown ()
77+
78+ input := & Pages {
79+ BuildType : String ("workflow" ),
80+ CNAME : String ("www.my-domain.com" ), // not passed along.
81+ }
82+
83+ mux .HandleFunc ("/repos/o/r/pages" , func (w http.ResponseWriter , r * http.Request ) {
84+ v := new (createPagesRequest )
85+ json .NewDecoder (r .Body ).Decode (v )
86+
87+ testMethod (t , r , "POST" )
88+ testHeader (t , r , "Accept" , mediaTypeEnablePagesAPIPreview )
89+ want := & createPagesRequest {BuildType : String ("workflow" )}
90+ if ! cmp .Equal (v , want ) {
91+ t .Errorf ("Request body = %+v, want %+v" , v , want )
92+ }
93+
94+ fmt .Fprint (w , `{"url":"u","status":"s","cname":"c","custom_404":false,"html_url":"h","build_type": "workflow"}` )
95+ })
96+
97+ ctx := context .Background ()
98+ page , _ , err := client .Repositories .EnablePages (ctx , "o" , "r" , input )
99+ if err != nil {
100+ t .Errorf ("Repositories.EnablePages returned error: %v" , err )
101+ }
102+
103+ want := & Pages {URL : String ("u" ), Status : String ("s" ), CNAME : String ("c" ), Custom404 : Bool (false ), HTMLURL : String ("h" ), BuildType : String ("workflow" )}
104+
105+ if ! cmp .Equal (page , want ) {
106+ t .Errorf ("Repositories.EnablePages returned %v, want %v" , page , want )
107+ }
108+
109+ const methodName = "EnablePages"
110+ testBadOptions (t , methodName , func () (err error ) {
111+ _ , _ , err = client .Repositories .EnablePages (ctx , "\n " , "\n " , input )
112+ return err
113+ })
114+
115+ testNewRequestAndDoFailure (t , methodName , client , func () (* Response , error ) {
116+ got , resp , err := client .Repositories .EnablePages (ctx , "o" , "r" , input )
117+ if got != nil {
118+ t .Errorf ("testNewRequestAndDoFailure %v = %#v, want nil" , methodName , got )
119+ }
120+ return resp , err
121+ })
122+ }
123+
124+ func TestRepositoriesService_UpdatePagesLegacy (t * testing.T ) {
74125 client , mux , _ , teardown := setup ()
75126 defer teardown ()
76127
77128 input := & PagesUpdate {
78- CNAME : String ("www.my-domain.com" ),
79- Source : & PagesSource {Branch : String ("gh-pages" )},
129+ CNAME : String ("www.my-domain.com" ),
130+ BuildType : String ("legacy" ),
131+ Source : & PagesSource {Branch : String ("gh-pages" )},
132+ }
133+
134+ mux .HandleFunc ("/repos/o/r/pages" , func (w http.ResponseWriter , r * http.Request ) {
135+ v := new (PagesUpdate )
136+ json .NewDecoder (r .Body ).Decode (v )
137+
138+ testMethod (t , r , "PUT" )
139+ want := & PagesUpdate {CNAME : String ("www.my-domain.com" ), BuildType : String ("legacy" ), Source : & PagesSource {Branch : String ("gh-pages" )}}
140+ if ! cmp .Equal (v , want ) {
141+ t .Errorf ("Request body = %+v, want %+v" , v , want )
142+ }
143+
144+ fmt .Fprint (w , `{"cname":"www.my-domain.com","build_type":"legacy","source":{"branch":"gh-pages"}}` )
145+ })
146+
147+ ctx := context .Background ()
148+ _ , err := client .Repositories .UpdatePages (ctx , "o" , "r" , input )
149+ if err != nil {
150+ t .Errorf ("Repositories.UpdatePages returned error: %v" , err )
151+ }
152+
153+ const methodName = "UpdatePages"
154+ testBadOptions (t , methodName , func () (err error ) {
155+ _ , err = client .Repositories .UpdatePages (ctx , "\n " , "\n " , input )
156+ return err
157+ })
158+
159+ testNewRequestAndDoFailure (t , methodName , client , func () (* Response , error ) {
160+ return client .Repositories .UpdatePages (ctx , "o" , "r" , input )
161+ })
162+ }
163+
164+ func TestRepositoriesService_UpdatePagesWorkflow (t * testing.T ) {
165+ client , mux , _ , teardown := setup ()
166+ defer teardown ()
167+
168+ input := & PagesUpdate {
169+ CNAME : String ("www.my-domain.com" ),
170+ BuildType : String ("workflow" ),
80171 }
81172
82173 mux .HandleFunc ("/repos/o/r/pages" , func (w http.ResponseWriter , r * http.Request ) {
83174 v := new (PagesUpdate )
84175 json .NewDecoder (r .Body ).Decode (v )
85176
86177 testMethod (t , r , "PUT" )
87- want := & PagesUpdate {CNAME : String ("www.my-domain.com" ), Source : & PagesSource { Branch : String ("gh-pages" )} }
178+ want := & PagesUpdate {CNAME : String ("www.my-domain.com" ), BuildType : String ("workflow" ) }
88179 if ! cmp .Equal (v , want ) {
89180 t .Errorf ("Request body = %+v, want %+v" , v , want )
90181 }
91182
92- fmt .Fprint (w , `{"cname":"www.my-domain.com","source":{"branch":"gh-pages"} }` )
183+ fmt .Fprint (w , `{"cname":"www.my-domain.com","build_type":"workflow" }` )
93184 })
94185
95186 ctx := context .Background ()
0 commit comments