From 432ee36d568f77c7e66dc5b2c195fa80f1a26607 Mon Sep 17 00:00:00 2001 From: Armin Date: Fri, 30 Jun 2023 11:18:50 +0200 Subject: [PATCH] Fix TestMeasurementDocuement --- .../cyface/apitestutils/TestEnvironment.java | 3 ++- .../fixture/GeoLocationTestFixture.java | 6 ++--- .../apitestutils/fixture/TestFixture.java | 4 +++- .../fixture/TestMeasurementDocument.java | 22 +++++++++---------- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/api-test-environment/src/main/java/de/cyface/apitestutils/TestEnvironment.java b/api-test-environment/src/main/java/de/cyface/apitestutils/TestEnvironment.java index d87aae5..ccd7a2a 100644 --- a/api-test-environment/src/main/java/de/cyface/apitestutils/TestEnvironment.java +++ b/api-test-environment/src/main/java/de/cyface/apitestutils/TestEnvironment.java @@ -19,6 +19,7 @@ package de.cyface.apitestutils; import java.io.IOException; +import java.util.UUID; import de.cyface.apitestutils.fixture.TestFixture; import io.vertx.core.AsyncResult; @@ -133,7 +134,7 @@ public TestEnvironment(final Vertx vertx, final VertxTestContext testContext, * @return A {@code Future} which is resolves to the id of the created entry if successful. */ @SuppressWarnings("unused") // API - public Future insertFixture(final TestFixture fixture) { + public Future insertFixture(final TestFixture fixture) { return fixture.insertTestData(mongoClient); } diff --git a/api-test-environment/src/main/java/de/cyface/apitestutils/fixture/GeoLocationTestFixture.java b/api-test-environment/src/main/java/de/cyface/apitestutils/fixture/GeoLocationTestFixture.java index b76cb25..f8abb8b 100644 --- a/api-test-environment/src/main/java/de/cyface/apitestutils/fixture/GeoLocationTestFixture.java +++ b/api-test-environment/src/main/java/de/cyface/apitestutils/fixture/GeoLocationTestFixture.java @@ -72,12 +72,12 @@ public GeoLocationTestFixture(final List testMeasurementI } @Override - public Future insertTestData(MongoClient mongoClient) { + public Future insertTestData(MongoClient mongoClient) { // Insert of test group manager and -user removed after switching to OAuth - final var userId = UUID.randomUUID().toString(); + final var userId = UUID.randomUUID(); - final Promise promise = Promise.promise(); + final Promise promise = Promise.promise(); final var testDocuments = testMeasurementIdentifiers.stream().map( id -> new TestMeasurementDocument(userId, id.getMeasurementIdentifier(), id.getDeviceIdentifier())) .collect(Collectors.toList()); diff --git a/api-test-environment/src/main/java/de/cyface/apitestutils/fixture/TestFixture.java b/api-test-environment/src/main/java/de/cyface/apitestutils/fixture/TestFixture.java index a7f8b33..83d7946 100644 --- a/api-test-environment/src/main/java/de/cyface/apitestutils/fixture/TestFixture.java +++ b/api-test-environment/src/main/java/de/cyface/apitestutils/fixture/TestFixture.java @@ -22,6 +22,8 @@ import io.vertx.core.Future; import io.vertx.ext.mongo.MongoClient; +import java.util.UUID; + /** * A provider for test fixture data. Such a provider is required by {@link TestEnvironment} instances. * @@ -37,5 +39,5 @@ public interface TestFixture { * @param mongoClient The client to access the Mongo database hosting the test data * @return A {@code Future} which is resolved after inserting the data has completed */ - Future insertTestData(final MongoClient mongoClient); + Future insertTestData(final MongoClient mongoClient); } diff --git a/api-test-environment/src/main/java/de/cyface/apitestutils/fixture/TestMeasurementDocument.java b/api-test-environment/src/main/java/de/cyface/apitestutils/fixture/TestMeasurementDocument.java index ea77b34..8a3bf7c 100644 --- a/api-test-environment/src/main/java/de/cyface/apitestutils/fixture/TestMeasurementDocument.java +++ b/api-test-environment/src/main/java/de/cyface/apitestutils/fixture/TestMeasurementDocument.java @@ -38,11 +38,13 @@ import io.vertx.core.json.JsonObject; import io.vertx.ext.mongo.MongoClient; +import java.util.UUID; + /** * A test document inside the Mongo database which contains an unpacked (deserialized) measurement. * * @author Armin Schnabel - * @version 3.0.1 + * @version 4.0.0 * @since 1.0.0 */ public final class TestMeasurementDocument implements MongoTestData { @@ -50,7 +52,7 @@ public final class TestMeasurementDocument implements MongoTestData { /** * The id of the user who uploaded the file. */ - private final String ownerUserId; + private final UUID ownerUserId; /** * The identifier of the measurement encoded in the file. */ @@ -72,15 +74,11 @@ public final class TestMeasurementDocument implements MongoTestData { * @param measurementIdentifier The identifier of the measurement encoded in the file * @param deviceIdentifier The worldwide unique identifier of the device the document comes from */ - public TestMeasurementDocument(final String ownerUserId, final Long measurementIdentifier, - final String deviceIdentifier) { - Validate.notEmpty(ownerUserId); - Validate.notNull(measurementIdentifier); - Validate.notEmpty(deviceIdentifier); - - this.ownerUserId = ownerUserId; - this.measurementIdentifier = measurementIdentifier; - this.deviceIdentifier = deviceIdentifier; + public TestMeasurementDocument(final UUID ownerUserId, final Long measurementIdentifier, + final String deviceIdentifier) { + this.ownerUserId = Validate.notNull(ownerUserId); + this.measurementIdentifier = Validate.notNull(measurementIdentifier); + this.deviceIdentifier = Validate.notEmpty(deviceIdentifier); } @Override @@ -93,7 +91,7 @@ public Future insert(final MongoClient mongoClient) { .put(METADATA_OS_VERSION_FIELD, "Android 9.0.0") .put(METADATA_APP_VERSION_FIELD, "1.2.0") .put(METADATA_LENGTH_FIELD, 1500.2) - .put(USER_ID_FIELD, new JsonObject().put("$oid", ownerUserId)) // new ObjectId() not supported + .put(USER_ID_FIELD, ownerUserId) // new ObjectId() not supported .put(METADATA_VERSION_FIELD, "2.0.0"); final JsonArray geoLocations = new JsonArray();