Fix tenant Id design for Azure accounts (#21086)

This commit is contained in:
Cheena Malhotra
2022-11-03 11:04:37 -07:00
committed by GitHub
parent 90d0310523
commit 85fad2360c
9 changed files with 64 additions and 31 deletions

View File

@@ -53,6 +53,7 @@ describe('Azure Authentication', function () {
mockAccount = {
isStale: false,
properties: {
owningTenant: mockTenant,
tenants: [mockTenant]
}
} as AzureAccount;

View File

@@ -35,6 +35,10 @@ const mockAccount: AzureAccount = {
properties: {
providerSettings: settings[0].metadata,
isMsAccount: true,
owningTenant: {
id: 'tenantId',
displayName: 'tenantDisplayName',
},
tenants: []
},
isStale: false

View File

@@ -35,6 +35,10 @@ const mockAccount: AzureAccount = {
properties: {
providerSettings: settings[0].metadata,
isMsAccount: true,
owningTenant: {
id: 'tenantId',
displayName: 'tenantDisplayName',
},
tenants: []
},
isStale: false

View File

@@ -28,13 +28,17 @@ const mockAccount: AzureAccount = {
properties: {
providerSettings: settings[0].metadata,
isMsAccount: true,
owningTenant: {
id: 'tenantId',
displayName: 'tenantDisplayName',
},
tenants: []
},
isStale: false
};
const mockTenantId: string = 'mock_tenant';
const mockSubscriptionId ='mock_subscription';
const mockSubscriptionId = 'mock_subscription';
const mockSubscription: azureResource.AzureResourceSubscription = {
id: mockSubscriptionId,
@@ -50,7 +54,7 @@ let mockResourceProvider2: TypeMoq.IMock<azureResource.IAzureResourceProvider>;
let resourceService: AzureResourceService;
describe('AzureResourceService.listResourceProviderIds', function(): void {
describe('AzureResourceService.listResourceProviderIds', function (): void {
beforeEach(() => {
mockResourceTreeDataProvider1 = TypeMoq.Mock.ofType<azureResource.IAzureResourceTreeDataProvider>();
mockResourceTreeDataProvider1.setup((o) => o.getRootChildren()).returns(() => Promise.resolve([TypeMoq.Mock.ofType<azdata.TreeItem>().object]));
@@ -71,7 +75,7 @@ describe('AzureResourceService.listResourceProviderIds', function(): void {
resourceService.areResourceProvidersLoaded = true;
});
it('Should be correct when registering providers.', async function(): Promise<void> {
it('Should be correct when registering providers.', async function (): Promise<void> {
resourceService.registerResourceProvider(mockResourceProvider1.object);
let providerIds = await resourceService.listResourceProviderIds();
should(providerIds).Array();
@@ -87,7 +91,7 @@ describe('AzureResourceService.listResourceProviderIds', function(): void {
});
});
describe('AzureResourceService.getRootChildren', function(): void {
describe('AzureResourceService.getRootChildren', function (): void {
beforeEach(() => {
mockResourceTreeDataProvider1 = TypeMoq.Mock.ofType<azureResource.IAzureResourceTreeDataProvider>();
mockResourceTreeDataProvider1.setup((o) => o.getRootChildren()).returns(() => Promise.resolve([TypeMoq.Mock.ofType<azdata.TreeItem>().object]));
@@ -101,13 +105,13 @@ describe('AzureResourceService.getRootChildren', function(): void {
resourceService.areResourceProvidersLoaded = true;
});
it('Should be correct when provider id is correct.', async function(): Promise<void> {
it('Should be correct when provider id is correct.', async function (): Promise<void> {
const children = await resourceService.getRootChildren(mockResourceProvider1.object.providerId, mockAccount, mockSubscription, mockTenantId);
should(children).Array();
});
it('Should throw exceptions when provider id is incorrect.', async function(): Promise<void> {
it('Should throw exceptions when provider id is incorrect.', async function (): Promise<void> {
const providerId = 'non_existent_provider_id';
try {
await resourceService.getRootChildren(providerId, mockAccount, mockSubscription, mockTenantId);
@@ -120,7 +124,7 @@ describe('AzureResourceService.getRootChildren', function(): void {
});
});
describe('AzureResourceService.getChildren', function(): void {
describe('AzureResourceService.getChildren', function (): void {
beforeEach(() => {
mockResourceTreeDataProvider1 = TypeMoq.Mock.ofType<azureResource.IAzureResourceTreeDataProvider>();
mockResourceTreeDataProvider1.setup((o) => o.getRootChildren()).returns(() => Promise.resolve([TypeMoq.Mock.ofType<azdata.TreeItem>().object]));
@@ -135,12 +139,12 @@ describe('AzureResourceService.getChildren', function(): void {
resourceService.areResourceProvidersLoaded = true;
});
it('Should be correct when provider id is correct.', async function(): Promise<void> {
it('Should be correct when provider id is correct.', async function (): Promise<void> {
const children = await resourceService.getChildren(mockResourceProvider1.object.providerId, TypeMoq.It.isAny());
should(children).Array();
});
it('Should throw exceptions when provider id is incorrect.', async function(): Promise<void> {
it('Should throw exceptions when provider id is incorrect.', async function (): Promise<void> {
const providerId = 'non_existent_provider_id';
try {
await resourceService.getRootChildren(providerId, mockAccount, mockSubscription, mockTenantId);
@@ -153,7 +157,7 @@ describe('AzureResourceService.getChildren', function(): void {
});
});
describe('AzureResourceService.getTreeItem', function(): void {
describe('AzureResourceService.getTreeItem', function (): void {
beforeEach(() => {
mockResourceTreeDataProvider1 = TypeMoq.Mock.ofType<azureResource.IAzureResourceTreeDataProvider>();
mockResourceTreeDataProvider1.setup((o) => o.getRootChildren()).returns(() => Promise.resolve([TypeMoq.Mock.ofType<azdata.TreeItem>().object]));
@@ -168,12 +172,12 @@ describe('AzureResourceService.getTreeItem', function(): void {
resourceService.areResourceProvidersLoaded = true;
});
it('Should be correct when provider id is correct.', async function(): Promise<void> {
it('Should be correct when provider id is correct.', async function (): Promise<void> {
const treeItem = await resourceService.getTreeItem(mockResourceProvider1.object.providerId, TypeMoq.It.isAny());
should(treeItem).Object();
});
it('Should throw exceptions when provider id is incorrect.', async function(): Promise<void> {
it('Should throw exceptions when provider id is incorrect.', async function (): Promise<void> {
const providerId = 'non_existent_provider_id';
try {
await resourceService.getRootChildren(providerId, mockAccount, mockSubscription, mockTenantId);

View File

@@ -31,6 +31,10 @@ const mockAccount: AzureAccount = {
properties: {
providerSettings: settings[0].metadata,
isMsAccount: true,
owningTenant: {
id: 'tenantId',
displayName: 'tenantDisplayName',
},
tenants: []
},
isStale: false

View File

@@ -35,7 +35,10 @@ let mockTreeChangeHandler: TypeMoq.IMock<IAzureResourceTreeChangeHandler>;
// Mock test data
const mockTenantId = 'mock_tenant_id';
const mockTenant = {
id: mockTenantId,
displayName: 'Mock Tenant'
};
const mockAccount: AzureAccount = {
key: {
accountId: '97915f6d-84fa-4926-b60c-38db64327ad7',
@@ -50,11 +53,9 @@ const mockAccount: AzureAccount = {
},
properties: {
tenants: [
{
id: mockTenantId,
displayName: 'Mock Tenant'
}
mockTenant
],
owningTenant: mockTenant,
providerSettings: {
settings: allSettings[0].metadata.settings,
id: 'azure',
@@ -360,8 +361,7 @@ describe('AzureResourceAccountTreeNode.clearCache', function (): void {
sinon.stub(azdata.accounts, 'getAccountSecurityToken').returns(Promise.resolve(mockToken));
mockCacheService.setup((o) => o.generateKey(TypeMoq.It.isAnyString())).returns(() => generateGuid());
mockCacheService.setup((o) => o.get(TypeMoq.It.isAnyString())).returns(() => mockSubscriptionCache);
mockCacheService.setup((o) => o.update(TypeMoq.It.isAnyString(), TypeMoq.It.isAny())).returns(() =>
{
mockCacheService.setup((o) => o.update(TypeMoq.It.isAnyString(), TypeMoq.It.isAny())).returns(() => {
mockSubscriptionCache = mockSubscriptions;
return Promise.resolve();
});