Skip to content

Commit d5b4b4e

Browse files
authored
fix: fix unit tests with latest versions of packages (#253)
1 parent fca32a6 commit d5b4b4e

File tree

1 file changed

+23
-15
lines changed

1 file changed

+23
-15
lines changed

test/system/inspect.spec.ts

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,32 @@ interface DependencyInfo {
2121
directDeps: string[];
2222
}
2323

24+
// This function is a helper to return the version a dependency gets resolved to in the graph
25+
// (in case we aren't able to determine it). This is useful for transitive dependencies
26+
// where the latest version of the package gets pulled in by a top level dependency.
27+
// This latest version can vary between python version and is not consistent for testing with `compareTransitiveLines`
28+
function getGraphPkg(
29+
graph: depGraphLib.DepGraph,
30+
depInfo: DependencyInfo
31+
): depGraphLib.Pkg {
32+
const pkgs = graph.getPkgs();
33+
if (depInfo.pkg.version) {
34+
return depInfo.pkg;
35+
}
36+
return pkgs.filter((pkg) => pkg.name == depInfo.pkg.name)[0];
37+
}
38+
2439
// We can't do a full dependency graph comparison, as generated dependency graphs vary wildly
2540
// between Python versions. Instead, we ensure that the transitive lines are not broken.
2641
function compareTransitiveLines(
2742
received: depGraphLib.DepGraph,
2843
expected: DependencyInfo[]
2944
) {
3045
expected.forEach((depInfo: DependencyInfo) => {
31-
expect(
32-
received.directDepsLeadingTo(depInfo.pkg).map((pkg) => pkg.name)
33-
).toEqual(depInfo.directDeps);
46+
const pkg = getGraphPkg(received, depInfo);
47+
expect(received.directDepsLeadingTo(pkg).map((pkg) => pkg.name)).toEqual(
48+
depInfo.directDeps
49+
);
3450
});
3551
}
3652

@@ -100,7 +116,7 @@ describe('inspect', () => {
100116
{
101117
pkg: {
102118
name: 'jaraco.collections',
103-
version: '5.0.1',
119+
version: '5.1.0',
104120
},
105121
directDeps: ['irc'],
106122
},
@@ -121,7 +137,6 @@ describe('inspect', () => {
121137
{
122138
pkg: {
123139
name: 'markupsafe',
124-
version: '2.1.5',
125140
},
126141
directDeps: ['jinja2'],
127142
},
@@ -135,7 +150,6 @@ describe('inspect', () => {
135150
{
136151
pkg: {
137152
name: 'markupsafe',
138-
version: '2.1.5',
139153
},
140154
directDeps: ['jinja2'],
141155
},
@@ -163,7 +177,7 @@ describe('inspect', () => {
163177
{
164178
pkg: {
165179
name: 's3transfer',
166-
version: '0.10.2',
180+
version: '0.10.4',
167181
},
168182
directDeps: ['awss'],
169183
},
@@ -177,7 +191,6 @@ describe('inspect', () => {
177191
{
178192
pkg: {
179193
name: 'markupsafe',
180-
version: '2.1.5',
181194
},
182195
directDeps: ['jinja2'],
183196
},
@@ -314,7 +327,7 @@ describe('inspect', () => {
314327
{
315328
pkg: {
316329
name: 'jaraco.collections',
317-
version: '5.0.1',
330+
version: '5.1.0',
318331
},
319332
directDeps: ['irc'],
320333
},
@@ -335,7 +348,6 @@ describe('inspect', () => {
335348
{
336349
pkg: {
337350
name: 'markupsafe',
338-
version: '2.1.5',
339351
},
340352
directDeps: ['jinja2'],
341353
},
@@ -349,7 +361,6 @@ describe('inspect', () => {
349361
{
350362
pkg: {
351363
name: 'markupsafe',
352-
version: '2.1.5',
353364
},
354365
directDeps: ['jinja2'],
355366
},
@@ -377,7 +388,7 @@ describe('inspect', () => {
377388
{
378389
pkg: {
379390
name: 's3transfer',
380-
version: '0.10.2',
391+
version: '0.10.4',
381392
},
382393
directDeps: ['awss'],
383394
},
@@ -391,7 +402,6 @@ describe('inspect', () => {
391402
{
392403
pkg: {
393404
name: 'markupsafe',
394-
version: '2.1.5',
395405
},
396406
directDeps: ['jinja2'],
397407
},
@@ -698,7 +708,6 @@ describe('inspect', () => {
698708
{
699709
pkg: {
700710
name: 'markupsafe',
701-
version: '2.1.5',
702711
},
703712
directDeps: ['jinja2'],
704713
},
@@ -750,7 +759,6 @@ describe('inspect', () => {
750759
{
751760
pkg: {
752761
name: 'markupsafe',
753-
version: '2.1.5',
754762
},
755763
directDeps: ['jinja2'],
756764
},

0 commit comments

Comments
 (0)