Skip to content

Commit

Permalink
Rename activity table to activity_directive
Browse files Browse the repository at this point in the history
  • Loading branch information
jdylanstewart committed Aug 11, 2022
1 parent b507b39 commit f47c3d8
Show file tree
Hide file tree
Showing 23 changed files with 164 additions and 160 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
} from '../../src/lib/batchLoaders/simulatedActivityBatchLoader.js';
import { removeMissionModel, uploadMissionModel } from '../testUtils/MissionModel.js';
import { createPlan, removePlan } from '../testUtils/Plan';
import { convertActivityIdToSimulatedActivityId, insertActivity, removeActivity } from '../testUtils/Activity';
import { convertActivityDirectiveIdToSimulatedActivityId, insertActivityDirective, removeActivityDirective } from '../testUtils/ActivityDirective';
import { executeSimulation, removeSimulationArtifacts } from '../testUtils/Simulation';
import DataLoader from 'dataloader';
import { activitySchemaBatchLoader } from '../../src/lib/batchLoaders/activitySchemaBatchLoader.js';
Expand All @@ -20,13 +20,13 @@ beforeAll(async () => {
graphqlClient = new GraphQLClient(process.env['MERLIN_GRAPHQL_URL'] as string);
missionModelId = await uploadMissionModel(graphqlClient);
planId = await createPlan(graphqlClient, missionModelId);
activityId = await insertActivity(graphqlClient, planId, 'ParameterTest');
activityId = await insertActivityDirective(graphqlClient, planId, 'ParameterTest');
simulationArtifactIds = await executeSimulation(graphqlClient, planId);
});

afterAll(async () => {
await removeSimulationArtifacts(graphqlClient, simulationArtifactIds);
await removeActivity(graphqlClient, activityId);
await removeActivityDirective(graphqlClient, activityId);
await removePlan(graphqlClient, planId);
await removeMissionModel(graphqlClient, missionModelId);
});
Expand All @@ -45,7 +45,7 @@ it('should load simulated activity instances for simulation_dataset', async () =
it('should load simulated activity instance for simulation_dataset and simulated activity id', async () => {
const activitySchemaDataLoader = new DataLoader(activitySchemaBatchLoader({ graphqlClient }));

const simulatedActivityId = await convertActivityIdToSimulatedActivityId(
const simulatedActivityId = await convertActivityDirectiveIdToSimulatedActivityId(
graphqlClient,
simulationArtifactIds.simulationDatasetId,
activityId,
Expand Down
40 changes: 20 additions & 20 deletions command-expansion-server/test/sequence-generation.spec.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { gql, GraphQLClient } from 'graphql-request';
import { removeMissionModel, uploadMissionModel } from './testUtils/MissionModel.js';
import { createPlan, removePlan } from './testUtils/Plan.js';
import { convertActivityIdToSimulatedActivityId, insertActivity, removeActivity } from './testUtils/Activity.js';
import { convertActivityDirectiveIdToSimulatedActivityId, insertActivityDirective, removeActivityDirective } from './testUtils/ActivityDirective.js';
import { executeSimulation, removeSimulationArtifacts } from './testUtils/Simulation.js';
import {
expand,
Expand Down Expand Up @@ -49,9 +49,9 @@ describe('sequence generation', () => {
let sequencePk: { seqId: string; simulationDatasetId: number };

beforeEach(async () => {
activityId1 = await insertActivity(graphqlClient, planId, 'GrowBanana');
activityId2 = await insertActivity(graphqlClient, planId, 'PeelBanana', '30 minutes');
activityId4 = await insertActivity(graphqlClient, planId, 'ThrowBanana', '60 minutes');
activityId1 = await insertActivityDirective(graphqlClient, planId, 'GrowBanana');
activityId2 = await insertActivityDirective(graphqlClient, planId, 'PeelBanana', '30 minutes');
activityId4 = await insertActivityDirective(graphqlClient, planId, 'ThrowBanana', '60 minutes');
commandDictionaryId = await insertCommandDictionary(graphqlClient);
expansionId1 = await insertExpansion(
graphqlClient,
Expand Down Expand Up @@ -119,7 +119,7 @@ describe('sequence generation', () => {

afterEach(async () => {
await removeSimulationArtifacts(graphqlClient, simulationArtifactPk);
await removeActivity(graphqlClient, activityId1);
await removeActivityDirective(graphqlClient, activityId1);
await removeMissionModel(graphqlClient, missionModelId);
await removeExpansionSet(graphqlClient, expansionSetId);
await removeExpansion(graphqlClient, expansionId1);
Expand All @@ -142,17 +142,17 @@ describe('sequence generation', () => {
await linkActivityInstance(graphqlClient, sequencePk, activityId4);
}

const simulatedActivityId1 = await convertActivityIdToSimulatedActivityId(
const simulatedActivityId1 = await convertActivityDirectiveIdToSimulatedActivityId(
graphqlClient,
simulationArtifactPk.simulationDatasetId,
activityId1,
);
const simulatedActivityId2 = await convertActivityIdToSimulatedActivityId(
const simulatedActivityId2 = await convertActivityDirectiveIdToSimulatedActivityId(
graphqlClient,
simulationArtifactPk.simulationDatasetId,
activityId2,
);
const simulatedActivityId4 = await convertActivityIdToSimulatedActivityId(
const simulatedActivityId4 = await convertActivityDirectiveIdToSimulatedActivityId(
graphqlClient,
simulationArtifactPk.simulationDatasetId,
activityId4,
Expand Down Expand Up @@ -339,7 +339,7 @@ describe('sequence generation', () => {
expansionId2,
expansionId3,
]);
activityId3 = await insertActivity(graphqlClient, planId, 'BiteBanana', '1 hours');
activityId3 = await insertActivityDirective(graphqlClient, planId, 'BiteBanana', '1 hours');
simulationArtifactPk = await executeSimulation(graphqlClient, planId);
expansionRunPk = await expand(graphqlClient, expansionSetId, simulationArtifactPk.simulationDatasetId);
sequencePk = await insertSequence(graphqlClient, {
Expand All @@ -351,17 +351,17 @@ describe('sequence generation', () => {
await linkActivityInstance(graphqlClient, sequencePk, activityId3);
}

const simulatedActivityId1 = await convertActivityIdToSimulatedActivityId(
const simulatedActivityId1 = await convertActivityDirectiveIdToSimulatedActivityId(
graphqlClient,
simulationArtifactPk.simulationDatasetId,
activityId1,
);
const simulatedActivityId2 = await convertActivityIdToSimulatedActivityId(
const simulatedActivityId2 = await convertActivityDirectiveIdToSimulatedActivityId(
graphqlClient,
simulationArtifactPk.simulationDatasetId,
activityId2,
);
const simulatedActivityId3 = await convertActivityIdToSimulatedActivityId(
const simulatedActivityId3 = await convertActivityDirectiveIdToSimulatedActivityId(
graphqlClient,
simulationArtifactPk.simulationDatasetId,
activityId3,
Expand Down Expand Up @@ -459,7 +459,7 @@ describe('sequence generation', () => {
let expansionRunPk: number;
// Setup
{
activityId3 = await insertActivity(graphqlClient, planId, 'BiteBanana', '1 hours');
activityId3 = await insertActivityDirective(graphqlClient, planId, 'BiteBanana', '1 hours');
simulationArtifactPk = await executeSimulation(graphqlClient, planId);
expansionRunPk = await expand(graphqlClient, expansionSetId, simulationArtifactPk.simulationDatasetId);
sequencePk = await insertSequence(graphqlClient, {
Expand All @@ -471,12 +471,12 @@ describe('sequence generation', () => {
await linkActivityInstance(graphqlClient, sequencePk, activityId3);
}

const simulatedActivityId1 = await convertActivityIdToSimulatedActivityId(
const simulatedActivityId1 = await convertActivityDirectiveIdToSimulatedActivityId(
graphqlClient,
simulationArtifactPk.simulationDatasetId,
activityId1,
);
const simulatedActivityId2 = await convertActivityIdToSimulatedActivityId(
const simulatedActivityId2 = await convertActivityDirectiveIdToSimulatedActivityId(
graphqlClient,
simulationArtifactPk.simulationDatasetId,
activityId2,
Expand Down Expand Up @@ -565,7 +565,7 @@ describe('sequence generation', () => {
describe('expansion regressions', () => {
test('start_offset undefined regression', async () => {
// Setup
const activityId = await insertActivity(graphqlClient, planId, 'GrowBanana', '1 hours');
const activityId = await insertActivityDirective(graphqlClient, planId, 'GrowBanana', '1 hours');
const simulationArtifactPk = await executeSimulation(graphqlClient, planId);
const expansionId = await insertExpansion(
graphqlClient,
Expand All @@ -582,7 +582,7 @@ describe('expansion regressions', () => {
const expansionSetId = await insertExpansionSet(graphqlClient, commandDictionaryId, missionModelId, [expansionId]);
const expansionRunId = await expand(graphqlClient, expansionSetId, simulationArtifactPk.simulationDatasetId);

const simulatedActivityId = await convertActivityIdToSimulatedActivityId(
const simulatedActivityId = await convertActivityDirectiveIdToSimulatedActivityId(
graphqlClient,
simulationArtifactPk.simulationDatasetId,
activityId,
Expand Down Expand Up @@ -631,7 +631,7 @@ describe('expansion regressions', () => {
]);

// Cleanup
await removeActivity(graphqlClient, activityId);
await removeActivityDirective(graphqlClient, activityId);
await removeSimulationArtifacts(graphqlClient, simulationArtifactPk);
await removeExpansion(graphqlClient, expansionId);
await removeExpansionSet(graphqlClient, expansionSetId);
Expand All @@ -642,7 +642,7 @@ describe('expansion regressions', () => {
it('should provide start and end times on activities', async () => {
// Setup

const activityId = await insertActivity(graphqlClient, planId, 'BiteBanana', '1 hours');
const activityId = await insertActivityDirective(graphqlClient, planId, 'BiteBanana', '1 hours');
const simulationArtifactPk = await executeSimulation(graphqlClient, planId);
const expansionId = await insertExpansion(
graphqlClient,
Expand All @@ -665,7 +665,7 @@ it('should provide start and end times on activities', async () => {
});
await linkActivityInstance(graphqlClient, sequencePk, activityId);

const simulatedActivityId3 = await convertActivityIdToSimulatedActivityId(
const simulatedActivityId3 = await convertActivityDirectiveIdToSimulatedActivityId(
graphqlClient,
simulationArtifactPk.simulationDatasetId,
activityId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ import { activitySchemaBatchLoader } from '../../src/lib/batchLoaders/activitySc
import { simulatedActivitiesBatchLoader } from '../../src/lib/batchLoaders/simulatedActivityBatchLoader';
import { assertDefined } from '../../src/utils/assertions';

export async function insertActivity(
export async function insertActivityDirective(
graphqlClient: GraphQLClient,
planId: number,
activityType: string,
startOffset: string = '30 seconds 0 milliseconds',
): Promise<number> {
const res = await graphqlClient.request<{
insert_activity_one: { id: number };
insert_activity_directive_one: { id: number };
}>(
gql`
mutation InsertTestActivity($activityType: String!, $planId: Int!, $startOffset: interval!, $arguments: jsonb) {
insert_activity_one(
mutation InsertTestActivityDirective($activityType: String!, $planId: Int!, $startOffset: interval!, $arguments: jsonb) {
insert_activity_directive_one(
object: { type: $activityType, start_offset: $startOffset, plan_id: $planId, arguments: $arguments }
) {
id
Expand All @@ -29,14 +29,14 @@ export async function insertActivity(
arguments: {},
},
);
return res.insert_activity_one.id;
return res.insert_activity_directive_one.id;
}

export async function removeActivity(graphqlClient: GraphQLClient, activityId: number): Promise<void> {
export async function removeActivityDirective(graphqlClient: GraphQLClient, activityId: number): Promise<void> {
return graphqlClient.request(
gql`
mutation DeleteActivity($activityId: Int!) {
delete_activity_by_pk(id: $activityId) {
mutation DeleteActivityDirectve($activityId: Int!) {
delete_activity_directive_by_pk(id: $activityId) {
id
}
}
Expand All @@ -47,7 +47,7 @@ export async function removeActivity(graphqlClient: GraphQLClient, activityId: n
);
}

export async function convertActivityIdToSimulatedActivityId(
export async function convertActivityDirectiveIdToSimulatedActivityId(
graphqlClient: GraphQLClient,
simulationDatasetId: number,
activityId: number,
Expand Down
4 changes: 2 additions & 2 deletions command-expansion-server/test/testUtils/Sequence.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { gql, GraphQLClient } from 'graphql-request';
import { convertActivityIdToSimulatedActivityId } from './Activity';
import { convertActivityDirectiveIdToSimulatedActivityId } from './ActivityDirective';

export async function insertSequence(
graphqlClient: GraphQLClient,
Expand Down Expand Up @@ -59,7 +59,7 @@ export async function linkActivityInstance(
sequencePk: { simulationDatasetId: number; seqId: string },
activityInstanceId: number,
): Promise<void> {
const simulatedActivityId = await convertActivityIdToSimulatedActivityId(
const simulatedActivityId = await convertActivityDirectiveIdToSimulatedActivityId(
graphqlClient,
sequencePk.simulationDatasetId,
activityInstanceId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ int insertActivity(final int planId) throws SQLException {
final var res = statement
.executeQuery(
"""
INSERT INTO activity (type, plan_id, start_offset, arguments)
INSERT INTO activity_directive (type, plan_id, start_offset, arguments)
VALUES ('test-activity', '%s', '00:00:00', '{}')
RETURNING id;"""
.formatted(planId)
Expand Down Expand Up @@ -238,7 +238,7 @@ void afterEach() throws SQLException {
clearTable("uploaded_file");
clearTable("mission_model");
clearTable("plan");
clearTable("activity");
clearTable("activity_directive");
clearTable("simulation_template");
clearTable("simulation");
clearTable("dataset");
Expand Down Expand Up @@ -409,7 +409,7 @@ void shouldIncrementPlanRevisionOnActivityUpdate() throws SQLException {
connection.createStatement()
.executeUpdate(
"""
UPDATE activity SET type = 'test-activity-updated'
UPDATE activity_directive SET type = 'test-activity-updated'
WHERE id = %s;"""
.formatted(activityId)
);
Expand Down Expand Up @@ -447,7 +447,7 @@ void shouldIncrementPlanRevisionOnActivityDelete() throws SQLException {
connection.createStatement()
.executeUpdate(
"""
DELETE FROM activity
DELETE FROM activity_directive
WHERE id = %s;"""
.formatted(activityId)
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
table:
name: activity
name: activity_directive
schema: public
object_relationships:
- name: plan
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ object_relationships:
using:
foreign_key_constraint_on: model_id
array_relationships:
- name: activities
- name: activity_directives
using:
foreign_key_constraint_on:
column: plan_id
table:
name: activity
name: activity_directive
schema: public
- name: conditions
using:
Expand All @@ -37,7 +37,7 @@ array_relationships:
remote_relationships:
- name: scheduling_specifications
definition:
to_source:
to_source:
relationship_type: array
source: AerieScheduler
table:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ object_relationships:
manual_configuration:
remote_table:
schema: public
name: activity
name: activity_directive
insertion_order: null
column_mapping:
directive_id: id
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
- "!include public_activity.yaml"
- "!include public_activity_directive.yaml"
- "!include public_activity_type.yaml"
- "!include public_activity_directive_metadata_schema.yaml"
- "!include public_condition.yaml"
Expand Down
7 changes: 6 additions & 1 deletion e2e-tests/src/tests/scheduler.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -123,13 +123,18 @@ test.describe('Scheduling', () => {
expect(status).toBeDefined();
const max_it = 10;
let it = 0;
let reason_local: string;
while (it++ < max_it && status == "incomplete"){
const { reason, status } = await req.schedule(request, specification_id);
status_local = status;
reason_local = reason;
expect(status).not.toBeNull();
expect(status).toBeDefined();
await delay(1000);
}
if (status_local == "failed"){
throw new Error(reason_local);
}
expect(status_local).toEqual("complete")
});

Expand All @@ -139,7 +144,7 @@ test.describe('Scheduling', () => {
expect(plan).not.toBeNull();
expect(plan).toBeDefined();
expect(plan.id).toEqual(plan_id);
expect(plan.activities.length).toEqual(12);
expect(plan.activity_directives.length).toEqual(12);
});

test('Delete plan', async ({ request }) => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
type ActivityId = number;
type ActivityDirectiveId = number;

type ActivityType = {
name: string;
Expand All @@ -7,17 +7,17 @@ type ActivityType = {

type ActivityTypesMap = Record<string, ActivityType>;

type Activity = {
type ActivityDirective = {
arguments: ArgumentsMap;
children: number[] | null;
duration: number | null;
id: ActivityId;
id: ActivityDirectiveId;
parent: number | null;
startTime: string;
type: string;
};

type ActivitiesMap = Record<ActivityId, Activity>;
type ActivitieDirectivesMap = Record<ActivityDirectiveId, ActivityDirective>;

type ActivityInsertInput = {
arguments: ArgumentsMap;
Expand Down
2 changes: 1 addition & 1 deletion e2e-tests/src/types/plan.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ type CreatePlanInput = {


type Plan = {
activities: Activity[];
activity_directives: ActivityDirective[];
constraints: Constraint[];
duration: string;
endTime: string;
Expand Down
Loading

0 comments on commit f47c3d8

Please sign in to comment.