compiler = fakecomp.NewFakeCompiler()
		action = NewCompilePackage(compiler)
	})

	It("is asynchronous", func() {
		Expect(action.IsAsynchronous()).To(BeTrue())
	})

	It("is not persistent", func() {
		Expect(action.IsPersistent()).To(BeFalse())
	})

	Describe("Run", func() {
		It("compile package compiles the package abd returns blob id", func() {
			compiler.CompileBlobID = "my-blob-id"
			compiler.CompileSha1 = "some sha1"

			expectedPkg := boshcomp.Package{
				BlobstoreID: "fake-blobstore-id",
				Sha1:        "fake-sha1",
				Name:        "fake-package-name",
				Version:     "fake-package-version",
			}

			expectedValue := map[string]interface{}{
				"result": map[string]string{
					"blobstore_id": "my-blob-id",
					"sha1":         "some sha1",
				},
			}