Some checks failed
CI Workflow / Check GoReleaser config (pull_request) Successful in 5s
CI Workflow / Test readiness for publishing provider (pull_request) Failing after 3m33s
CI Workflow / CI run tests (pull_request) Failing after 4m51s
CI Workflow / CI run build and linting (pull_request) Failing after 4m37s
CI Workflow / Code coverage report (pull_request) Has been skipped
135 lines
3.8 KiB
Go
135 lines
3.8 KiB
Go
package sqlserverFlexBetaFlavor
|
|
|
|
//import (
|
|
// "context"
|
|
// "testing"
|
|
//
|
|
// "github.com/stackitcloud/stackit-sdk-go/core/utils"
|
|
//
|
|
// "github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex/v3beta1api"
|
|
//)
|
|
//
|
|
//type mockRequest struct {
|
|
// executeFunc func() (*v3beta1api.GetFlavorsResponse, error)
|
|
//}
|
|
//
|
|
//func (m *mockRequest) Page(_ int64) v3beta1api.ApiGetFlavorsRequestRequest { return m }
|
|
//func (m *mockRequest) Size(_ int64) v3beta1api.ApiGetFlavorsRequestRequest { return m }
|
|
//func (m *mockRequest) Sort(_ v3beta1api.FlavorSort) v3beta1api.ApiGetFlavorsRequestRequest {
|
|
// return m
|
|
//}
|
|
//func (m *mockRequest) Execute() (*v3beta1api.GetFlavorsResponse, error) {
|
|
// return m.executeFunc()
|
|
//}
|
|
//
|
|
//type mockFlavorsClient struct {
|
|
// executeRequest func() v3beta1api.ApiGetFlavorsRequestRequest
|
|
//}
|
|
//
|
|
//func (m *mockFlavorsClient) GetFlavorsRequest(_ context.Context, _, _ string) v3beta1api.ApiGetFlavorsRequestRequest {
|
|
// return m.executeRequest()
|
|
//}
|
|
//
|
|
//var mockResp = func(page int64) (*v3beta1api.GetFlavorsResponse, error) {
|
|
// if page == 1 {
|
|
// return &v3beta1api.GetFlavorsResponse{
|
|
// Flavors: &[]v3beta1api.ListFlavors{
|
|
// {Id: utils.Ptr("flavor-1"), Description: utils.Ptr("first")},
|
|
// {Id: utils.Ptr("flavor-2"), Description: utils.Ptr("second")},
|
|
// },
|
|
// }, nil
|
|
// }
|
|
// if page == 2 {
|
|
// return &v3beta1api.GetFlavorsResponse{
|
|
// Flavors: &[]v3beta1api.ListFlavors{
|
|
// {Id: utils.Ptr("flavor-3"), Description: utils.Ptr("three")},
|
|
// },
|
|
// }, nil
|
|
// }
|
|
//
|
|
// return &v3beta1api.GetFlavorsResponse{
|
|
// Flavors: &[]v3beta1api.ListFlavors{},
|
|
// }, nil
|
|
//}
|
|
//
|
|
//func TestGetFlavorsByFilter(t *testing.T) {
|
|
// tests := []struct {
|
|
// description string
|
|
// projectId string
|
|
// region string
|
|
// mockErr error
|
|
// filter func(v3beta1api.ListFlavors) bool
|
|
// wantCount int
|
|
// wantErr bool
|
|
// }{
|
|
// {
|
|
// description: "Success - Get all flavors (2 pages)",
|
|
// projectId: "pid", region: "reg",
|
|
// filter: func(_ v3beta1api.ListFlavors) bool { return true },
|
|
// wantCount: 3,
|
|
// wantErr: false,
|
|
// },
|
|
// {
|
|
// description: "Success - Filter flavors by description",
|
|
// projectId: "pid", region: "reg",
|
|
// filter: func(f v3beta1api.ListFlavors) bool { return *f.Description == "first" },
|
|
// wantCount: 1,
|
|
// wantErr: false,
|
|
// },
|
|
// {
|
|
// description: "Error - Missing parameters",
|
|
// projectId: "", region: "reg",
|
|
// wantErr: true,
|
|
// },
|
|
// }
|
|
//
|
|
// for _, tt := range tests {
|
|
// t.Run(
|
|
// tt.description, func(t *testing.T) {
|
|
// var currentPage int64
|
|
// client := &mockFlavorsClient{
|
|
// executeRequest: func() v3beta1api.ApiGetFlavorsRequestRequest {
|
|
// return &mockRequest{
|
|
// executeFunc: func() (*v3beta1api.GetFlavorsResponse, error) {
|
|
// currentPage++
|
|
// return mockResp(currentPage)
|
|
// },
|
|
// }
|
|
// },
|
|
// }
|
|
// actual, err := getFlavorsByFilter(context.Background(), client, tt.projectId, tt.region, tt.filter)
|
|
//
|
|
// if (err != nil) != tt.wantErr {
|
|
// t.Errorf("getFlavorsByFilter() error = %v, wantErr %v", err, tt.wantErr)
|
|
// return
|
|
// }
|
|
//
|
|
// if !tt.wantErr && len(actual) != tt.wantCount {
|
|
// t.Errorf("getFlavorsByFilter() got %d flavors, want %d", len(actual), tt.wantCount)
|
|
// }
|
|
// },
|
|
// )
|
|
// }
|
|
//}
|
|
//
|
|
//func TestGetAllFlavors(t *testing.T) {
|
|
// var currentPage int64
|
|
// client := &mockFlavorsClient{
|
|
// executeRequest: func() v3beta1api.ApiGetFlavorsRequestRequest {
|
|
// return &mockRequest{
|
|
// executeFunc: func() (*v3beta1api.GetFlavorsResponse, error) {
|
|
// currentPage++
|
|
// return mockResp(currentPage)
|
|
// },
|
|
// }
|
|
// },
|
|
// }
|
|
//
|
|
// res, err := getAllFlavors(context.Background(), client, "pid", "reg")
|
|
// if err != nil {
|
|
// t.Errorf("getAllFlavors() unexpected error: %v", err)
|
|
// }
|
|
// if len(res) != 3 {
|
|
// t.Errorf("getAllFlavors() expected 3 flavor, got %d", len(res))
|
|
// }
|
|
//}
|