-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Created visualization_api_test.go * Updated BUILD.bazel files * Removed clean_up from e2e test * Revert "Removed clean_up from e2e test" This reverts commit 82fd4f5. * Update e2e tests to build visualizationserver and viewer-crd * Fix bug where wrong image is set * Fixed incorrect image names * Fixed additional instance of incorrect image names
- Loading branch information
1 parent
dbb0544
commit 41b394b
Showing
8 changed files
with
176 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
62 changes: 62 additions & 0 deletions
62
backend/src/common/client/api_server/visualization_client.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
package api_server | ||
|
||
import ( | ||
"fmt" | ||
|
||
"github.com/go-openapi/strfmt" | ||
apiclient "github.com/kubeflow/pipelines/backend/api/go_http_client/visualization_client" | ||
params "github.com/kubeflow/pipelines/backend/api/go_http_client/visualization_client/visualization_service" | ||
model "github.com/kubeflow/pipelines/backend/api/go_http_client/visualization_model" | ||
"github.com/kubeflow/pipelines/backend/src/common/util" | ||
"golang.org/x/net/context" | ||
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp" | ||
"k8s.io/client-go/tools/clientcmd" | ||
) | ||
|
||
type VisualizationInterface interface { | ||
Create(params *params.CreateVisualizationParams) (*model.APIVisualization, error) | ||
} | ||
|
||
type VisualizationClient struct { | ||
apiClient *apiclient.Visualization | ||
} | ||
|
||
func NewVisualizationClient(clientConfig clientcmd.ClientConfig, debug bool) ( | ||
*VisualizationClient, error) { | ||
|
||
runtime, err := NewHTTPRuntime(clientConfig, debug) | ||
if err != nil { | ||
return nil, err | ||
} | ||
|
||
apiClient := apiclient.New(runtime, strfmt.Default) | ||
|
||
// Creating upload client | ||
return &VisualizationClient{ | ||
apiClient: apiClient, | ||
}, nil | ||
} | ||
|
||
func (c *VisualizationClient) Create(parameters *params.CreateVisualizationParams) (*model.APIVisualization, | ||
error) { | ||
// Create context with timeout | ||
ctx, cancel := context.WithTimeout(context.Background(), apiServerDefaultTimeout) | ||
defer cancel() | ||
|
||
// Make service call | ||
parameters.Context = ctx | ||
response, err := c.apiClient.VisualizationService.CreateVisualization(parameters, PassThroughAuth) | ||
if err != nil { | ||
if defaultError, ok := err.(*params.CreateVisualizationDefault); ok { | ||
err = CreateErrorFromAPIStatus(defaultError.Payload.Error, defaultError.Payload.Code) | ||
} else { | ||
err = CreateErrorCouldNotRecoverAPIStatus(err) | ||
} | ||
|
||
return nil, util.NewUserError(err, | ||
fmt.Sprintf("Failed to create visualizaiton. Params: '%+v'. Body: '%+v'", parameters, parameters.Body), | ||
fmt.Sprintf("Failed to create visualization '%v'", parameters.Body.Type)) | ||
} | ||
|
||
return response.Payload, nil | ||
} |
31 changes: 31 additions & 0 deletions
31
backend/src/common/client/api_server/visualization_client_fake.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
package api_server | ||
|
||
import ( | ||
"encoding/json" | ||
"fmt" | ||
params "github.com/kubeflow/pipelines/backend/api/go_http_client/visualization_client/visualization_service" | ||
model "github.com/kubeflow/pipelines/backend/api/go_http_client/visualization_model" | ||
) | ||
|
||
type VisualizationArguments struct { | ||
fail bool | ||
} | ||
|
||
type VisualizationClientFake struct{} | ||
|
||
func NewVisualizationClientFake() *VisualizationClientFake { | ||
return &VisualizationClientFake{} | ||
} | ||
|
||
func (c *VisualizationClientFake) Create(params *params.CreateVisualizationParams) ( | ||
*model.APIVisualization, error) { | ||
var arguments VisualizationArguments | ||
err := json.Unmarshal([]byte(params.Body.Arguments), &arguments) | ||
if err != nil { | ||
return nil, err | ||
} | ||
if arguments.fail { | ||
return nil, fmt.Errorf(ClientErrorString) | ||
} | ||
return params.Body, nil | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
package integration | ||
|
||
import ( | ||
"github.com/stretchr/testify/assert" | ||
"testing" | ||
|
||
"github.com/golang/glog" | ||
params "github.com/kubeflow/pipelines/backend/api/go_http_client/visualization_client/visualization_service" | ||
"github.com/kubeflow/pipelines/backend/api/go_http_client/visualization_model" | ||
"github.com/kubeflow/pipelines/backend/src/common/client/api_server" | ||
"github.com/kubeflow/pipelines/backend/test" | ||
"github.com/stretchr/testify/suite" | ||
) | ||
|
||
type VisualizationApiTest struct { | ||
suite.Suite | ||
namespace string | ||
visualizationClient *api_server.VisualizationClient | ||
} | ||
|
||
// Check the namespace have ML job installed and ready | ||
func (s *VisualizationApiTest) SetupTest() { | ||
if !*runIntegrationTests { | ||
s.T().SkipNow() | ||
return | ||
} | ||
|
||
err := test.WaitForReady(*namespace, *initializeTimeout) | ||
if err != nil { | ||
glog.Exitf("Failed to initialize test. Error: %v", err) | ||
} | ||
s.namespace = *namespace | ||
clientConfig := test.GetClientConfig(*namespace) | ||
s.visualizationClient, err = api_server.NewVisualizationClient(clientConfig, false) | ||
if err != nil { | ||
glog.Exitf("Failed to get experiment client. Error: %v", err) | ||
} | ||
} | ||
|
||
func (s *VisualizationApiTest) TestVisualizationAPI() { | ||
t := s.T() | ||
|
||
/* ---------- Generate custom visualization --------- */ | ||
visualization := &visualization_model.APIVisualization{ | ||
Arguments: `{"code": ["print(2)"]}`, | ||
Type: visualization_model.APIVisualizationTypeCUSTOM, | ||
} | ||
customVisualization, err := s.visualizationClient.Create(¶ms.CreateVisualizationParams{ | ||
Body: visualization, | ||
}) | ||
assert.Nil(t, err) | ||
assert.NotNil(t, customVisualization.HTML) | ||
} | ||
|
||
func TestVisualizationAPI(t *testing.T) { | ||
suite.Run(t, new(VisualizationApiTest)) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters