|
7 | 7 | getDatabasesByRoles, |
8 | 8 | getPrivilegesByDatabaseAndCollection, |
9 | 9 | getInstance, |
| 10 | + isEndOfLifeVersion, |
| 11 | + adaptBuildInfo, |
10 | 12 | } from './instance-detail-helper'; |
11 | 13 |
|
12 | 14 | import * as fixtures from '../test/fixtures'; |
@@ -629,4 +631,53 @@ describe('instance-detail-helper', function () { |
629 | 631 | ).to.deep.equal(['aws', 'local']); |
630 | 632 | }); |
631 | 633 | }); |
| 634 | + |
| 635 | + describe('isEndOfLifeVersion', function () { |
| 636 | + it('returns true for v4.4 and below', () => { |
| 637 | + expect(isEndOfLifeVersion('4.4.0')).to.equal(true); |
| 638 | + expect(isEndOfLifeVersion('4.3.0')).to.equal(true); |
| 639 | + expect(isEndOfLifeVersion('4.0')).to.equal(true); |
| 640 | + expect(isEndOfLifeVersion('4.0-beta.0')).to.equal(true); |
| 641 | + expect(isEndOfLifeVersion('1.0.0')).to.equal(true); |
| 642 | + expect(isEndOfLifeVersion('0.0.1')).to.equal(true); |
| 643 | + expect(isEndOfLifeVersion('3.999.0')).to.equal(true); |
| 644 | + }); |
| 645 | + |
| 646 | + it('returns true for v4.5 and above', () => { |
| 647 | + expect(isEndOfLifeVersion('4.5.0')).to.equal(false); |
| 648 | + expect(isEndOfLifeVersion('5.0.0')).to.equal(false); |
| 649 | + expect(isEndOfLifeVersion('5.0.25')).to.equal(false); |
| 650 | + expect(isEndOfLifeVersion('6.0.0')).to.equal(false); |
| 651 | + expect(isEndOfLifeVersion('7.0.0')).to.equal(false); |
| 652 | + expect(isEndOfLifeVersion('8.0.0')).to.equal(false); |
| 653 | + }); |
| 654 | + }); |
| 655 | + |
| 656 | + describe('adaptBuildInfo', function () { |
| 657 | + it('propagate isEndOfLife as expected', function () { |
| 658 | + expect(adaptBuildInfo({ version: '4.4.0' })).to.deep.equal({ |
| 659 | + version: '4.4.0', |
| 660 | + isEndOfLife: true, |
| 661 | + isEnterprise: false, |
| 662 | + }); |
| 663 | + // Missing version |
| 664 | + expect(adaptBuildInfo({})).to.deep.equal({ |
| 665 | + version: '', |
| 666 | + isEndOfLife: false, |
| 667 | + isEnterprise: false, |
| 668 | + }); |
| 669 | + // Malformed version |
| 670 | + expect(adaptBuildInfo({ version: 'what?' })).to.deep.equal({ |
| 671 | + version: 'what?', |
| 672 | + isEndOfLife: false, |
| 673 | + isEnterprise: false, |
| 674 | + }); |
| 675 | + // Newer version |
| 676 | + expect(adaptBuildInfo({ version: '8.0.0' })).to.deep.equal({ |
| 677 | + version: '8.0.0', |
| 678 | + isEndOfLife: false, |
| 679 | + isEnterprise: false, |
| 680 | + }); |
| 681 | + }); |
| 682 | + }); |
632 | 683 | }); |
0 commit comments