Skip to content

Commit 8252f2b

Browse files
authored
Merge pull request #398 from snyk/chore/transmitter-payload
Chore/transmitter payload
2 parents 4d0529f + f738d6b commit 8252f2b

File tree

4 files changed

+27
-8
lines changed

4 files changed

+27
-8
lines changed

src/scanner/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import logger = require('../common/logger');
22
import { pullImages, removePulledImages, getImagesWithFileSystemPath, scanImages } from './images';
33
import { deleteWorkload, sendDepGraph } from '../transmitter';
4-
import { constructDeleteWorkloadPayload, constructDepGraph } from '../transmitter/payload';
4+
import { constructDeleteWorkload, constructDepGraph } from '../transmitter/payload';
55
import { IWorkload, ILocalWorkloadLocator } from '../transmitter/types';
66
import { IPullableImage } from './images/types';
77

@@ -35,7 +35,7 @@ export = class WorkloadWorker {
3535

3636
// TODO: should be extracted from here and moved to the supervisor
3737
public async delete(localWorkloadLocator: ILocalWorkloadLocator): Promise<void> {
38-
const deletePayload = constructDeleteWorkloadPayload(localWorkloadLocator);
38+
const deletePayload = constructDeleteWorkload(localWorkloadLocator);
3939
logger.info({workloadName: this.name, workload: localWorkloadLocator},
4040
'removing workloads from upstream');
4141
await deleteWorkload(deletePayload);

src/supervisor/watchers/handlers/pod.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import logger = require('../../../common/logger');
55
import WorkloadWorker = require('../../../scanner');
66
import { sendWorkloadMetadata } from '../../../transmitter';
77
import { IWorkload } from '../../../transmitter/types';
8-
import { constructWorkloadMetadataPayload } from '../../../transmitter/payload';
8+
import { constructWorkloadMetadata } from '../../../transmitter/payload';
99
import { buildMetadataForWorkload } from '../../metadata-extractor';
1010
import { PodPhase } from '../types';
1111
import state = require('../../../state');
@@ -97,7 +97,7 @@ export async function podWatchHandler(pod: V1Pod): Promise<void> {
9797

9898
// every element contains the workload information, so we can get it from the first one
9999
const workloadMember = workloadMetadata[0];
100-
const workloadMetadataPayload = constructWorkloadMetadataPayload(workloadMember);
100+
const workloadMetadataPayload = constructWorkloadMetadata(workloadMember);
101101
const workloadLocator = workloadMetadataPayload.workloadLocator;
102102
const workloadKey = `${workloadLocator.namespace}/${workloadLocator.type}/${workloadLocator.name}`;
103103
const workloadRevision = workloadMember.revision ? workloadMember.revision.toString() : ''; // this is actually the observed generation

src/transmitter/payload.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export function constructDepGraph(
5050
return results;
5151
}
5252

53-
export function constructWorkloadMetadataPayload(workload: IWorkload): IWorkloadMetadataPayload {
53+
export function constructWorkloadMetadata(workload: IWorkload): IWorkloadMetadataPayload {
5454
if (!workload) {
5555
throw new Error('can\'t build workload metadata payload for undefined workload');
5656
}
@@ -73,7 +73,7 @@ export function constructWorkloadMetadataPayload(workload: IWorkload): IWorkload
7373
return { workloadLocator, agentId: config.AGENT_ID, workloadMetadata };
7474
}
7575

76-
export function constructDeleteWorkloadPayload(
76+
export function constructDeleteWorkload(
7777
localWorkloadLocator: ILocalWorkloadLocator,
7878
): IDeleteWorkloadPayload {
7979
return {

test/unit/transmitter-payload.test.ts

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ tap.test('constructDepGraph happy flow', async (t) => {
104104
config.MONITOR_VERSION = backups.version;
105105
});
106106

107-
tap.test('constructWorkloadMetadataPayload happy flow', async (t) => {
107+
tap.test('constructWorkloadMetadata happy flow', async (t) => {
108108
const workloadWithImages: transmitterTypes.IWorkload = {
109109
type: 'type',
110110
name: 'workloadName',
@@ -122,7 +122,7 @@ tap.test('constructWorkloadMetadataPayload happy flow', async (t) => {
122122
podSpec: podSpecFixture,
123123
};
124124

125-
const workloadMetadataPayload = payload.constructWorkloadMetadataPayload(workloadWithImages);
125+
const workloadMetadataPayload = payload.constructWorkloadMetadata(workloadWithImages);
126126

127127
t.equals(workloadMetadataPayload.workloadLocator.cluster, 'grapefruit', 'cluster present in payload');
128128
t.equals(workloadMetadataPayload.workloadLocator.namespace, 'spacename', 'image ID present in payload');
@@ -139,3 +139,22 @@ tap.test('constructWorkloadMetadataPayload happy flow', async (t) => {
139139
t.ok('labels' in workloadMetadataPayload.workloadMetadata, 'labels present in metadata');
140140
t.ok('specLabels' in workloadMetadataPayload.workloadMetadata, 'specLabels present in metadata');
141141
});
142+
143+
tap.test('constructDeleteWorkload happy flow', async (t) => {
144+
const localWorkloadLocator: transmitterTypes.ILocalWorkloadLocator = {
145+
name: 'wl-name',
146+
namespace: 'wl-namespace',
147+
type: 'wl-type'
148+
};
149+
const deleteWorkloadPayload = payload.constructDeleteWorkload(localWorkloadLocator);
150+
151+
t.ok('workloadLocator' in deleteWorkloadPayload, 'workloadLocator present in payload');
152+
t.ok('agentId' in deleteWorkloadPayload, 'agentId present in payload');
153+
154+
t.ok('userLocator' in deleteWorkloadPayload.workloadLocator, 'userLocator present in workloadLocator');
155+
t.ok('cluster' in deleteWorkloadPayload.workloadLocator, 'cluster present in workloadLocator');
156+
157+
t.equals(deleteWorkloadPayload.workloadLocator.name, 'wl-name', 'matched workload name');
158+
t.equals(deleteWorkloadPayload.workloadLocator.namespace, 'wl-namespace', 'matched workload namespace');
159+
t.equals(deleteWorkloadPayload.workloadLocator.type, 'wl-type', 'matched workload type');
160+
});

0 commit comments

Comments
 (0)