func loadConfig(filePath string) (ctx *cpi.Context, err error) {
	file, err := os.Open(filePath)
	if err != nil {
		return
	}
	config := &cpi.Config{}
	err = json.NewDecoder(file).Decode(config)
	if err != nil {
		return
	}

	token, err := getToken(config.Photon)
	if err != nil {
		return
	}

	tokenOptions := &photon.TokenOptions{
		AccessToken: token}
	clientConfig := &photon.ClientOptions{
		IgnoreCertificate: config.Photon.IgnoreCertificate,
		TokenOptions:      tokenOptions,
	}
	ctx = &cpi.Context{
		Client: photon.NewClient(config.Photon.Target, clientConfig, nil),
		Config: config,
		Runner: cmd.NewRunner(),
		Logger: logger.New(),
	}
	return
}
	"runtime"
)

var _ = Describe("Disk", func() {
	var (
		server  *httptest.Server
		ctx     *cpi.Context
		ctxAuth *cpi.Context
		projID  string
	)

	BeforeEach(func() {
		server = NewMockServer()
		var runner cmd.Runner
		if runtime.GOOS == "linux" {
			runner = cmd.NewRunner()
		} else {
			runner = &fakeRunner{}
		}

		Activate(true)
		httpClient := &http.Client{Transport: DefaultMockTransport}
		ctx = &cpi.Context{
			Client: ec.NewTestClient(server.URL, nil, httpClient),
			Config: &cpi.Config{
				Photon: &cpi.PhotonConfig{
					Target:    server.URL,
					ProjectID: "fake-project-id",
				},
			},
			Runner: runner,