github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/dli/v1/databases/testing/fixtures.go (about) 1 package testing 2 3 import ( 4 "fmt" 5 "net/http" 6 "testing" 7 8 "github.com/chnsz/golangsdk/openstack/dli/v1/databases" 9 th "github.com/chnsz/golangsdk/testhelper" 10 "github.com/chnsz/golangsdk/testhelper/client" 11 ) 12 13 const ( 14 expectedCreateResponse = ` 15 { 16 "is_success": true 17 }` 18 19 expectedListResponse = ` 20 { 21 "database_count": 1, 22 "databases": [ 23 { 24 "database_name": "terraform_test", 25 "description": "Created by terraform", 26 "enterprise_project_id": "e9ee3f48-f097-406a-aa74-cfece0af3e31", 27 "is_shared": false, 28 "owner": "terraform", 29 "resource_id": "e766d389-d73f-45e7-af79-29445c36339b", 30 "table_number": 0 31 } 32 ], 33 "is_success": true 34 }` 35 ) 36 37 var ( 38 createOpts = databases.CreateOpts{ 39 Name: "terraform_test", 40 EnterpriseProjectId: "e9ee3f48-f097-406a-aa74-cfece0af3e31", 41 } 42 43 expectedCreateResponseData = &databases.RequestResp{ 44 IsSuccess: true, 45 } 46 47 expectedListResponseData = &databases.ListResp{ 48 DatabaseCount: 1, 49 Databases: []databases.Database{ 50 { 51 Name: "terraform_test", 52 Description: "Created by terraform", 53 EnterpriseProjectId: "e9ee3f48-f097-406a-aa74-cfece0af3e31", 54 IsShared: false, 55 Owner: "terraform", 56 ResourceId: "e766d389-d73f-45e7-af79-29445c36339b", 57 TableNumber: 0, 58 }, 59 }, 60 IsSuccess: true, 61 } 62 63 updateDBOwnerOpts = databases.UpdateDBOwnerOpts{ 64 NewOwner: "newOwner", 65 } 66 ) 67 68 func handleV1DatabaseCreate(t *testing.T) { 69 th.Mux.HandleFunc("/databases", func(w http.ResponseWriter, r *http.Request) { 70 th.TestMethod(t, r, "POST") 71 th.TestHeader(t, r, "X-Auth-Token", client.TokenID) 72 w.Header().Add("Content-Type", "application/json") 73 w.WriteHeader(http.StatusOK) 74 _, _ = fmt.Fprint(w, expectedCreateResponse) 75 }) 76 } 77 78 func handleV1DatabaseList(t *testing.T) { 79 th.Mux.HandleFunc("/databases", func(w http.ResponseWriter, r *http.Request) { 80 th.TestMethod(t, r, "GET") 81 th.TestHeader(t, r, "X-Auth-Token", client.TokenID) 82 w.Header().Add("Content-Type", "application/json") 83 w.WriteHeader(http.StatusOK) 84 _, _ = fmt.Fprint(w, expectedListResponse) 85 }) 86 } 87 88 func handleV1DatabaseOwnerUpdate(t *testing.T) { 89 th.Mux.HandleFunc("/databases/terraform_test/owner", func(w http.ResponseWriter, r *http.Request) { 90 th.TestMethod(t, r, "PUT") 91 th.TestHeader(t, r, "X-Auth-Token", client.TokenID) 92 w.Header().Add("Content-Type", "application/json") 93 w.WriteHeader(http.StatusOK) 94 _, _ = fmt.Fprint(w, expectedCreateResponse) 95 }) 96 } 97 98 func handleV1DatabaseDelete(t *testing.T) { 99 th.Mux.HandleFunc("/databases/terraform_test", func(w http.ResponseWriter, r *http.Request) { 100 th.TestMethod(t, r, "DELETE") 101 th.TestHeader(t, r, "X-Auth-Token", client.TokenID) 102 w.Header().Add("Content-Type", "application/json") 103 w.WriteHeader(http.StatusOK) 104 }) 105 }