fleet/server/mdm/android/tests
Victor Lyuboslavsky a86253d2bf
Refactoring Android datastore interface (#26982)
For #26219 

Refactoring the interface between Android service and Android datastore
to use 1 common datastore interface: `fleet.AndroidDatastore`

These changes are based on feedback from the recent Backend Sync.

```mermaid
---
title: Partial class diagram
---
classDiagram
    direction LR
    class `android.Service`
    <<interface>> `android.Service`
    class `android/service.Service`
    `android/service.Service` ..|> `android.Service`: implements

    class `fleet.AndroidDatastore`
    <<interface>> `fleet.AndroidDatastore`
    class `fleet.Datastore`
    <<interface>> `fleet.Datastore`
    class `android.Datastore`
    <<interface>> `android.Datastore`
    `android/service.Service` *-- `fleet.AndroidDatastore`: USES (THIS IS THE KEY CHANGE)
    `fleet.Datastore` *-- `fleet.AndroidDatastore`: contains
    `mysql.Datastore` ..|> `fleet.Datastore`: implements
    `fleet.AndroidDatastore` *-- `android.Datastore`: contains
    `mysql.Datastore` *-- `android.Datastore`: contains
    `android/mysql.Datastore` ..|> `android.Datastore`: implements
```
2025-03-13 14:28:52 -05:00
..
enterprise Refactoring Android datastore interface (#26982) 2025-03-13 14:28:52 -05:00
http.go Added GET enterprise API endpoint. (#26555) 2025-02-26 10:47:05 -06:00
README.md Added GET enterprise API endpoint. (#26555) 2025-02-26 10:47:05 -06:00
testing_utils.go Refactoring Android datastore interface (#26982) 2025-03-13 14:28:52 -05:00

This package contains API Android tests with the real Android service and Android MySQL database.

We use testify Suite to run these tests. Since testify Suite does not support parallel execution, we put each test in their own package/directory. This allows these tests to run in parallel because each package is a separate compile unit. If you create a large test, please put it in a separate file within the same Suite/package.