Remove unnecessary mitm test copy

Also make sure this test clean up services it started, and closes the
connection it created on success.

Change-Id: I76e3ff8d969fe5dfc5f68174a79c2cab85cb7f50
diff --git a/acts/tests/google/ble/gatt/GattConnectTest.py b/acts/tests/google/ble/gatt/GattConnectTest.py
index f461d29..33043d1 100644
--- a/acts/tests/google/ble/gatt/GattConnectTest.py
+++ b/acts/tests/google/ble/gatt/GattConnectTest.py
@@ -992,113 +992,10 @@
                         GattCbErr.CHAR_WRITE_ERR.value.format(
                             expected_event))
                 return False
-        return True
 
-    @BluetoothBaseTest.bt_test_wrap
-    def test_gatt_connect_mitm_attack(self):
-        """Test GATT connection with permission write encrypted mitm.
-
-        Test establishing a gatt connection between a GATT server and GATT
-        client while the GATT server's characteristic includes the property
-        write value and the permission write encrypted mitm value. This will
-        prompt LE pairing and then the devices will create a bond.
-
-        Steps:
-        1. Create a GATT server and server callback on the peripheral device.
-        2. Create a unique service and characteristic uuid on the peripheral.
-        3. Create a characteristic on the peripheral with these properties:
-            GattCharacteristic.PROPERTY_WRITE.value,
-            GattCharacteristic.PERMISSION_WRITE_ENCRYPTED_MITM.value
-        4. Create a GATT service on the peripheral.
-        5. Add the characteristic to the GATT service.
-        6. Create a GATT connection between your central and peripheral device.
-        7. From the central device, discover the peripheral's services.
-        8. Iterate the services found until you find the unique characteristic
-            created in step 3.
-        9. Once found, write a random but valid value to the characteristic.
-        10. Start pairing helpers on both devices immediately after attempting
-            to write to the characteristic.
-        11. Within 10 seconds of writing the characteristic, there should be
-            a prompt to bond the device from the peripheral. The helpers will
-            handle the UI interaction automatically. (see
-            BluetoothConnectionFacade.java bluetoothStartPairingHelper).
-        12. Verify that the two devices are bonded.
-
-        Expected Result:
-        Verify that a connection was established and the devices are bonded.
-
-        Returns:
-          Pass if True
-          Fail if False
-
-        TAGS: LE, Advertising, Filtering, Scanning, GATT, Characteristic, MITM
-        Priority: 1
-        """
-        gatt_server_callback = (
-            self.per_ad.droid.gattServerCreateGattServerCallback())
-        gatt_server = self.per_ad.droid.gattServerOpenGattServer(
-            gatt_server_callback)
-        service_uuid = "3846D7A0-69C8-11E4-BA00-0002A5D5C51B"
-        test_uuid = "aa7edd5a-4d1d-4f0e-883a-d145616a1630"
-        bonded = False
-        characteristic = self.per_ad.droid.gattServerCreateBluetoo
-        thGattCharacteristic(
-            test_uuid, GattCharacteristic.PROPERTY_WRITE.value,
-            GattCharacteristic.PERMISSION_WRITE_ENCRYPTED_MITM.value)
-        gatt_service = self.per_ad.droid.gattServerCreateService(
-            service_uuid, GattService.SERVICE_TYPE_PRIMARY.value)
-        self.per_ad.droid.gattServerAddCharacteristicToService(gatt_service,
-                                                               characteristic)
-        self.per_ad.droid.gattServerAddService(gatt_server, gatt_service)
-        result = self._find_service_added_event(gatt_server_callback,
-                                                service_uuid)
-        if not result:
-            return False
-        bluetooth_gatt, gatt_callback, adv_callback = (
-            orchestrate_gatt_connection(self.cen_ad, self.per_ad))
-        self.adv_instances.append(adv_callback)
-        if self.cen_ad.droid.gattClientDiscoverServices(bluetooth_gatt):
-            expected_event = GattCbStrings.GATT_SERV_DISC.value.format(
-                gatt_callback)
-            try:
-                event = self.cen_ad.ed.pop_event(expected_event,
-                                                 self.default_timeout)
-            except Empty:
-                self.log.error(GattCbErr.GATT_SERV_DISC_ERR.value.format(
-                    expected_event))
-                return False
-            discovered_services_index = event['data']['ServicesIndex']
-        else:
-            self.log.info("Failed to discover services.")
-            return False
-        test_value = "1,2,3,4,5,6,7"
-        services_count = self.cen_ad.droid.gattClientGetDiscoveredServicesCount(
-            discovered_services_index)
-        for i in range(services_count):
-            characteristic_uuids = (
-                self.cen_ad.droid.gattClientGetDiscoveredCharacteristicUuids(
-                    discovered_services_index, i))
-            for characteristic_uuid in characteristic_uuids:
-                if characteristic_uuid == test_uuid:
-                    self.cen_ad.droid.bluetoothStartPairingHelper()
-                    self.per_ad.droid.bluetoothStartPairingHelper()
-                    self.cen_ad.droid.gattClientCharacteristicSetValue(
-                        bluetooth_gatt, discovered_services_index, i,
-                        characteristic_uuid, test_value)
-                    self.cen_ad.droid.gattClientWriteCharacteristic(
-                        bluetooth_gatt, discovered_services_index, i,
-                        characteristic_uuid)
-                    start_time = time.time() + self.default_timeout
-                    target_name = self.per_ad.droid.bluetoothGetLocalName()
-                    while time.time() < start_time and bonded == False:
-                        bonded_devices = self.cen_ad.droid.bluetoothGetBondedDevices(
-                        )
-                        for device in bonded_devices:
-                            if 'name' in device.keys() and device[
-                                    'name'] == target_name:
-                                bonded = True
-                                break
-        return True
+        self._cleanup_services(gatt_server)
+        return self._orchestrate_gatt_disconnection(bluetooth_gatt,
+                                                    gatt_callback)
 
     @BluetoothBaseTest.bt_test_wrap
     def test_gatt_connect_mitm_attack(self):