Revert "VTS tests for fixed MediaDrm security level APIs"

This reverts commit 45c3855f4fc04fc80f354139b7f084ca817f3db1.

Reason for revert: Build cop here. The CL topic that I'm reverting broke several builds: Drm.h's openSession(Vector<uint8_t> &sessionId) hides overloaded virtual function openSession(DrmPlugin::SecurityLevel securityLevel, ..) from IDrm.h.

https://android-build.googleplex.com/builds/submitted/4598692/full-eng/latest/view/logs/build_error.log

Change-Id: Ie61888464a2ac17b1ee6f47b23f5bb84fdbfa095
diff --git a/drm/1.1/vts/functional/drm_hal_clearkey_test.cpp b/drm/1.1/vts/functional/drm_hal_clearkey_test.cpp
index a8ed0e5..62cc8b6 100644
--- a/drm/1.1/vts/functional/drm_hal_clearkey_test.cpp
+++ b/drm/1.1/vts/functional/drm_hal_clearkey_test.cpp
@@ -158,7 +158,6 @@
     virtual void TearDown() override {}
 
     SessionId openSession();
-    SessionId openSession(SecurityLevel level);
     void closeSession(const SessionId& sessionId);
     hidl_vec<uint8_t> loadKeys(const SessionId& sessionId, const KeyType& type);
     sp<IMemory> getDecryptMemory(size_t size, size_t index);
@@ -278,23 +277,6 @@
 }
 
 /**
- * Helper method to open as session using V1.1 API
- */
-SessionId DrmHalClearkeyTest::openSession(SecurityLevel level) {
-    SessionId sessionId;
-
-    auto res = drmPlugin->openSession_1_1(level,
-            [&sessionId](Status status, const SessionId& id) {
-                EXPECT_EQ(Status::OK, status);
-                EXPECT_NE(0u, id.size());
-                sessionId = id;
-            });
-    EXPECT_OK(res);
-    return sessionId;
-}
-
-
-/**
  * Helper method to close a session
  */
 void DrmHalClearkeyTest::closeSession(const SessionId& sessionId) {
@@ -316,91 +298,31 @@
 }
 
 /**
- * Test that the plugin returns default open and max session counts
- */
-TEST_F(DrmHalClearkeyTest, GetDefaultSessionCounts) {
-    auto res = drmPlugin->getNumberOfSessions(
-            [&](Status status, uint32_t currentSessions,
-                    uint32_t maxSessions) {
-                EXPECT_EQ(Status::OK, status);
-                EXPECT_GE(maxSessions, (uint32_t)8);
-                EXPECT_GE(currentSessions, (uint32_t)0);
-                EXPECT_LE(currentSessions, maxSessions);
-            });
-    EXPECT_OK(res);
-}
-
-/**
  * Test that the plugin returns valid open and max session counts
- * after a session is opened.
  */
-TEST_F(DrmHalClearkeyTest, GetOpenSessionCounts) {
-    uint32_t initialSessions = 0;
+TEST_F(DrmHalClearkeyTest, GetSessionCounts) {
     auto res = drmPlugin->getNumberOfSessions(
             [&](Status status, uint32_t currentSessions,
                     uint32_t maxSessions) {
                 EXPECT_EQ(Status::OK, status);
-                EXPECT_GE(maxSessions, (uint32_t)8);
+                EXPECT_GT(maxSessions, (uint32_t)0);
                 EXPECT_GE(currentSessions, (uint32_t)0);
                 EXPECT_LE(currentSessions, maxSessions);
-                initialSessions = currentSessions;
-            });
-    EXPECT_OK(res);
-
-    SessionId session = openSession();
-    res = drmPlugin->getNumberOfSessions(
-            [&](Status status, uint32_t currentSessions,
-                    uint32_t /*maxSessions*/) {
-                EXPECT_EQ(Status::OK, status);
-                EXPECT_EQ(currentSessions, initialSessions + 1);
-            });
-    EXPECT_OK(res);
-
-    closeSession(session);
-    res = drmPlugin->getNumberOfSessions(
-            [&](Status status, uint32_t currentSessions,
-                    uint32_t /*maxSessions*/) {
-                EXPECT_EQ(Status::OK, status);
-                EXPECT_EQ(currentSessions, initialSessions);
             });
     EXPECT_OK(res);
 }
 
 /**
- * Test that the plugin returns the same security level
- * by default as when it is requested explicitly
- */
-TEST_F(DrmHalClearkeyTest, GetDefaultSecurityLevel) {
-    SessionId session = openSession();
-    SecurityLevel defaultLevel;
-    auto res = drmPlugin->getSecurityLevel(session,
-            [&](Status status, SecurityLevel level) {
-                EXPECT_EQ(Status::OK, status);
-                defaultLevel = level;
-            });
-    EXPECT_OK(res);
-    closeSession(session);
-
-    session = openSession(defaultLevel);
-    res = drmPlugin->getSecurityLevel(session,
-            [&](Status status, SecurityLevel level) {
-                EXPECT_EQ(Status::OK, status);
-                EXPECT_EQ(level, defaultLevel);
-            });
-    EXPECT_OK(res);
-    closeSession(session);
-}
-
-/**
- * Test that the plugin returns the lowest security level
- * when it is requested
+ * Test that the plugin returns a valid security level for
+ * a valid session
  */
 TEST_F(DrmHalClearkeyTest, GetSecurityLevel) {
-    SessionId session = openSession(SecurityLevel::SW_SECURE_CRYPTO);
+    SessionId session = openSession();
     auto res = drmPlugin->getSecurityLevel(session,
             [&](Status status, SecurityLevel level) {
                 EXPECT_EQ(Status::OK, status);
-                EXPECT_EQ(level, SecurityLevel::SW_SECURE_CRYPTO);
+                EXPECT_GE(level, SecurityLevel::SW_SECURE_CRYPTO);
+                EXPECT_LE(level, SecurityLevel::HW_SECURE_ALL);
             });
     EXPECT_OK(res);
     closeSession(session);
@@ -420,6 +342,51 @@
 }
 
 /**
+ * Test that setting all valid security levels on a valid sessionId
+ * is supported
+ */
+TEST_F(DrmHalClearkeyTest, SetSecurityLevel) {
+    SessionId session = openSession();
+    for (uint32_t level = static_cast<uint32_t>(SecurityLevel::SW_SECURE_CRYPTO);
+         level <= static_cast<uint32_t>(SecurityLevel::HW_SECURE_ALL); level++) {
+        EXPECT_EQ(Status::OK, drmPlugin->setSecurityLevel(session, static_cast<SecurityLevel>(level)));
+
+        // check that the level got set
+        auto res = drmPlugin->getSecurityLevel(session,
+                [&](Status status, SecurityLevel readLevel) {
+                    EXPECT_EQ(Status::OK, status);
+                    EXPECT_EQ(level, static_cast<uint32_t>(readLevel));
+                });
+        EXPECT_OK(res);
+    }
+    closeSession(session);
+}
+
+/**
+ * Test that setting an invalid security level on a valid
+ * sessionId is prohibited with the documented error code.
+ */
+TEST_F(DrmHalClearkeyTest, SetInvalidSecurityLevel) {
+    SessionId session = openSession();
+    SecurityLevel level = static_cast<SecurityLevel>(
+            static_cast<uint32_t>(SecurityLevel::HW_SECURE_ALL) + 1);
+    Status status = drmPlugin->setSecurityLevel(session, level);
+    EXPECT_EQ(Status::BAD_VALUE, status);
+    closeSession(session);
+}
+
+/**
+ * Test that attempting to set security level on an invalid
+ * (empty) sessionId is prohibited with the documented error
+ * code.
+ */
+TEST_F(DrmHalClearkeyTest, SetSecurityLevelInvalidSessionId) {
+    SessionId session;
+    SecurityLevel level = SecurityLevel::SW_SECURE_CRYPTO;
+    EXPECT_EQ(Status::BAD_VALUE, drmPlugin->setSecurityLevel(session, level));
+}
+
+/**
  * Test metrics are set appropriately for open and close operations.
  */
 TEST_F(DrmHalClearkeyTest, GetMetricsSuccess) {