BeforeEach(func() {
		compiler = fakecomp.NewFakeCompiler()
		action = NewCompilePackage(compiler)
	})

	AssertActionIsAsynchronous(action)
	AssertActionIsNotPersistent(action)
	AssertActionIsLoggable(action)

	AssertActionIsNotCancelable(action)
	AssertActionIsNotResumable(action)

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

			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 checksum",
				},
			}