Skip to content
This repository has been archived by the owner on Jul 2, 2024. It is now read-only.

EVG-19933: Fix tests broken by distro resolver #1930

Merged
merged 4 commits into from
Jul 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 2 additions & 10 deletions cypress/integration/hosts/update_status_modal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,7 @@ describe("Update Status Modal", () => {
cy.contains("button", "Update").click({ force: true });
});
cy.dataCy("update-host-status-modal").should("not.exist");
cy.validateToast("success");

// MODAL FORM VALUES SHOULD BE CLEARED AFTER MUTATION
cy.dataCy("update-status-button").click();

cy.dataCy("host-status-select").within(() => {
cy.get(".ant-select-selection-item").should("not.exist");
});

cy.dataCy("host-status-notes").invoke("val").should("eq", "");
// Because the static hosts that exists in the dev environment cannot be decommissioned, we should expect an error.
cy.validateToast("error");
});
});
17 changes: 6 additions & 11 deletions cypress/integration/spawn/host.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
const hostTableRow = ".ant-table-row";
const hostColumnHeader = ".ant-table-thead > tr > :nth-child(2)";

const unsortedSpawnHostOrder = ["i-092593689871a50dc", "i-04ade558e1e26b0ad"];
const ascendingSortSpawnHostOrderByHostId = [
"i-04ade558e1e26b0ad",
"i-092593689871a50dc",
Expand Down Expand Up @@ -46,7 +45,9 @@ describe("Navigating to Spawn Host page", () => {
cy.dataCy("spawn-host-card").should("have.length", 1);
});
it("Clicking on the Event Log link should redirect to /host/:hostId", () => {
cy.contains("Event Log").click();
cy.get('[data-row-key="i-092593689871a50dc"]').within(() => {
cy.contains("Event Log").click();
});
cy.location("pathname").should("eq", "/host/i-092593689871a50dc");
});

Expand All @@ -55,9 +56,7 @@ describe("Navigating to Spawn Host page", () => {
cy.visit("/spawn/host");
});
it("Visiting the spawn host page should display all of your spawned hosts not sorted by default", () => {
cy.get(hostTableRow).each(($el, index) =>
cy.wrap($el).contains(unsortedSpawnHostOrder[index])
);
cy.get(hostTableRow).should("have.length", 2);
});
it("Clicking on the host column header should sort spawn hosts by ascending order by id", () => {
cy.get(hostColumnHeader).click();
Expand All @@ -76,9 +75,7 @@ describe("Navigating to Spawn Host page", () => {
cy.get(hostColumnHeader).click();
cy.get(hostColumnHeader).click();
cy.get(hostColumnHeader).click();
cy.get(hostTableRow).each(($el, index) =>
cy.wrap($el).contains(unsortedSpawnHostOrder[index])
);
cy.get(hostTableRow).should("have.length", 2);
});
it("Clicking on the expiration column header should sort the hosts by ascending order", () => {
cy.contains("Expires In").click();
Expand All @@ -97,9 +94,7 @@ describe("Navigating to Spawn Host page", () => {
cy.contains("Expires In").click();
cy.contains("Expires In").click();
cy.contains("Expires In").click();
cy.get(hostTableRow).each(($el, index) =>
cy.wrap($el).contains(unsortedSpawnHostOrder[index])
);
cy.get(hostTableRow).should("have.length", 2);
});

describe("Spawn host modal", () => {
Expand Down
122 changes: 117 additions & 5 deletions src/gql/generated/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,21 @@ export enum BannerTheme {
Warning = "WARNING",
}

export type BootstrapSettings = {
__typename?: "BootstrapSettings";
clientDir?: Maybe<Scalars["String"]>;
communication?: Maybe<Scalars["String"]>;
env: Array<EnvVar>;
jasperBinaryDir?: Maybe<Scalars["String"]>;
jasperCredentialsPath?: Maybe<Scalars["String"]>;
method?: Maybe<Scalars["String"]>;
preconditionScripts: Array<PreconditionScript>;
resourceLimits?: Maybe<ResourceLimits>;
rootDir?: Maybe<Scalars["String"]>;
serviceUser?: Maybe<Scalars["String"]>;
shellPath?: Maybe<Scalars["String"]>;
};

export type Build = {
__typename?: "Build";
actualMakespan: Scalars["Duration"];
Expand Down Expand Up @@ -235,21 +250,47 @@ export type Dependency = {
taskId: Scalars["String"];
};

export type DispatcherSettings = {
__typename?: "DispatcherSettings";
version?: Maybe<Scalars["String"]>;
};

export type DisplayTask = {
ExecTasks: Array<Scalars["String"]>;
Name: Scalars["String"];
};

/**
* Distro[] is the return value for the distros query.
* It models an environment configuration for a host.
*/
/** Distro models an environment configuration for a host. */
export type Distro = {
__typename?: "Distro";
aliases: Array<Scalars["String"]>;
arch?: Maybe<Scalars["String"]>;
authorizedKeysFile?: Maybe<Scalars["String"]>;
bootstrapSettings: BootstrapSettings;
cloneMethod?: Maybe<Scalars["String"]>;
containerPool?: Maybe<Scalars["String"]>;
disableShallowClone: Scalars["Boolean"];
disabled: Scalars["Boolean"];
dispatcherSettings: DispatcherSettings;
expansions: Array<Expansion>;
finderSettings: FinderSettings;
homeVolumeSettings: HomeVolumeSettings;
hostAllocatorSettings: HostAllocatorSettings;
iceCreamSettings: IceCreamSettings;
isCluster: Scalars["Boolean"];
isVirtualWorkStation: Scalars["Boolean"];
name?: Maybe<Scalars["String"]>;
note?: Maybe<Scalars["String"]>;
plannerSettings: PlannerSettings;
provider?: Maybe<Scalars["String"]>;
providerSettingsList: Array<Scalars["Map"]>;
setup?: Maybe<Scalars["String"]>;
setupAsSudo: Scalars["Boolean"];
sshKey?: Maybe<Scalars["String"]>;
sshOptions: Array<Scalars["String"]>;
user?: Maybe<Scalars["String"]>;
userSpawnAllowed?: Maybe<Scalars["Boolean"]>;
userSpawnAllowed: Scalars["Boolean"];
validProjects: Array<Maybe<Scalars["String"]>>;
workDir?: Maybe<Scalars["String"]>;
};

Expand Down Expand Up @@ -294,6 +335,18 @@ export type EditSpawnHostInput = {
volume?: InputMaybe<Scalars["String"]>;
};

export type EnvVar = {
__typename?: "EnvVar";
key?: Maybe<Scalars["String"]>;
value?: Maybe<Scalars["String"]>;
};

export type Expansion = {
__typename?: "Expansion";
key?: Maybe<Scalars["String"]>;
value?: Maybe<Scalars["String"]>;
};

export type ExternalLink = {
__typename?: "ExternalLink";
displayName: Scalars["String"];
Expand Down Expand Up @@ -327,6 +380,11 @@ export type FileDiff = {
fileName: Scalars["String"];
};

export type FinderSettings = {
__typename?: "FinderSettings";
version?: Maybe<Scalars["String"]>;
};

export type GeneralSubscription = {
__typename?: "GeneralSubscription";
id: Scalars["String"];
Expand Down Expand Up @@ -412,6 +470,11 @@ export type GroupedTaskStatusCount = {
variant: Scalars["String"];
};

export type HomeVolumeSettings = {
__typename?: "HomeVolumeSettings";
formatCommand?: Maybe<Scalars["String"]>;
};

/** Host models a host, which are used for things like running tasks or as virtual workstations. */
export type Host = {
__typename?: "Host";
Expand Down Expand Up @@ -441,6 +504,17 @@ export type Host = {
volumes: Array<Volume>;
};

export type HostAllocatorSettings = {
__typename?: "HostAllocatorSettings";
acceptableHostIdleTime?: Maybe<Scalars["Duration"]>;
feedbackRule?: Maybe<Scalars["String"]>;
hostsOverallocatedRule?: Maybe<Scalars["String"]>;
maximumHosts: Scalars["Int"];
minimumHosts: Scalars["Int"];
roundingRule?: Maybe<Scalars["String"]>;
version?: Maybe<Scalars["String"]>;
};

export type HostEventLogData = {
__typename?: "HostEventLogData";
agentBuild: Scalars["String"];
Expand Down Expand Up @@ -504,6 +578,12 @@ export type HostsResponse = {
totalHostsCount: Scalars["Int"];
};

export type IceCreamSettings = {
__typename?: "IceCreamSettings";
configPath?: Maybe<Scalars["String"]>;
schedulerHost?: Maybe<Scalars["String"]>;
};

export type InstanceTag = {
__typename?: "InstanceTag";
canBeModified: Scalars["Boolean"];
Expand Down Expand Up @@ -1191,6 +1271,18 @@ export type Permissions = {
userId: Scalars["String"];
};

export type PlannerSettings = {
__typename?: "PlannerSettings";
expectedRuntimeFactor?: Maybe<Scalars["Int"]>;
generateTaskFactor?: Maybe<Scalars["Int"]>;
groupVersions?: Maybe<Scalars["Boolean"]>;
mainlineTimeInQueueFactor?: Maybe<Scalars["Int"]>;
patchFactor?: Maybe<Scalars["Int"]>;
patchTimeInQueueFactor?: Maybe<Scalars["Int"]>;
targetTime?: Maybe<Scalars["Duration"]>;
version?: Maybe<Scalars["String"]>;
};

export type Pod = {
__typename?: "Pod";
events: PodEvents;
Expand Down Expand Up @@ -1238,6 +1330,12 @@ export type PodEvents = {
eventLogEntries: Array<PodEventLogEntry>;
};

export type PreconditionScript = {
__typename?: "PreconditionScript";
path?: Maybe<Scalars["String"]>;
script?: Maybe<Scalars["String"]>;
};

/** Project models single repository on GitHub. */
export type Project = {
__typename?: "Project";
Expand Down Expand Up @@ -1495,6 +1593,7 @@ export type Query = {
buildVariantsForTaskName?: Maybe<Array<Maybe<BuildVariantTuple>>>;
clientConfig?: Maybe<ClientConfig>;
commitQueue: CommitQueue;
distro?: Maybe<Distro>;
distroTaskQueue: Array<TaskQueueItem>;
distros: Array<Maybe<Distro>>;
githubProjectConflicts: GithubProjectConflicts;
Expand Down Expand Up @@ -1548,6 +1647,10 @@ export type QueryCommitQueueArgs = {
projectIdentifier: Scalars["String"];
};

export type QueryDistroArgs = {
distroId: Scalars["String"];
};

export type QueryDistroTaskQueueArgs = {
distroId: Scalars["String"];
};
Expand Down Expand Up @@ -1791,6 +1894,15 @@ export enum RequiredStatus {
MustSucceed = "MUST_SUCCEED",
}

export type ResourceLimits = {
__typename?: "ResourceLimits";
lockedMemoryKb?: Maybe<Scalars["Int"]>;
numFiles?: Maybe<Scalars["Int"]>;
numProcesses?: Maybe<Scalars["Int"]>;
numTasks?: Maybe<Scalars["Int"]>;
virtualMemoryKb?: Maybe<Scalars["Int"]>;
};

export type SearchReturnInfo = {
__typename?: "SearchReturnInfo";
featuresURL: Scalars["String"];
Expand Down