Added VTS tests for requiresSecureDecoderComponent and release API

Bug: 63914034
Bug: 65593293

Test:
Build & test vts:

> make vts -j64

> vts-tradefed run vts -m VtsHalCasV1_0Target

Change-Id: I465735768239f2d53427a18e5ad1fa0069f6e35c
diff --git a/cas/1.0/vts/functional/VtsHalCasV1_0TargetTest.cpp b/cas/1.0/vts/functional/VtsHalCasV1_0TargetTest.cpp
index 062ee20..8a19e2c 100644
--- a/cas/1.0/vts/functional/VtsHalCasV1_0TargetTest.cpp
+++ b/cas/1.0/vts/functional/VtsHalCasV1_0TargetTest.cpp
@@ -456,6 +456,8 @@
     EXPECT_TRUE(returnStatus.isOk());
     EXPECT_EQ(Status::OK, returnStatus);
 
+    EXPECT_FALSE(mDescramblerBase->requiresSecureDecoderComponent("video/avc"));
+
     sp<IDescrambler> descrambler;
     descrambler = IDescrambler::castFrom(mDescramblerBase);
     ASSERT_NE(descrambler, nullptr);
@@ -474,6 +476,14 @@
         memcmp(static_cast<const void*>(opBuffer), static_cast<const void*>(kOutRefBinaryBuffer),
                sizeof(kOutRefBinaryBuffer));
     EXPECT_EQ(0, compareResult);
+
+    returnStatus = mDescramblerBase->release();
+    EXPECT_TRUE(returnStatus.isOk());
+    EXPECT_EQ(Status::OK, returnStatus);
+
+    returnStatus = mMediaCas->release();
+    EXPECT_TRUE(returnStatus.isOk());
+    EXPECT_EQ(Status::OK, returnStatus);
 }
 
 TEST_F(MediaCasHidlTest, TestClearKeySessionClosedAfterRelease) {
@@ -584,6 +594,12 @@
 
     ASSERT_TRUE(descrambleTestInputBuffer(descrambler, &descrambleStatus, &hidlInMemory));
     EXPECT_EQ(Status::ERROR_CAS_DECRYPT, descrambleStatus);
+
+    // Verify that requiresSecureDecoderComponent handles empty mime
+    EXPECT_FALSE(mDescramblerBase->requiresSecureDecoderComponent(""));
+
+    // Verify that requiresSecureDecoderComponent handles invalid mime
+    EXPECT_FALSE(mDescramblerBase->requiresSecureDecoderComponent("bad"));
 }
 
 }  // anonymous namespace