mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-02-01 09:35:39 -05:00
Object Types are getting from DacFx ObjectTypes (#1574)
* Include Object Types are getting from DacFx * All tests are passing now with excludObjectType casting * Test fix with new ExccvludeObjectType change * Added test case for the include objects types * Updated name to objectTypesDictionary and objectType getName from Display attribute * code Review updates * Removing Exclude word logic here as the options were updated on DacFx * updating the null check * DacFx vBump * code updates according to review comments
This commit is contained in:
committed by
GitHub
parent
d78ff94b31
commit
1342a8a085
@@ -589,7 +589,7 @@ FROM MissingEdgeHubInputStream'";
|
||||
UpgradeExisting = true,
|
||||
DeploymentOptions = new DeploymentOptions()
|
||||
{
|
||||
ExcludeObjectTypes = new DeploymentOptionProperty<ObjectType[]>(new[] { ObjectType.Views })
|
||||
ExcludeObjectTypes = new DeploymentOptionProperty<string[]>(new[] { Enum.GetName(ObjectType.Views) })
|
||||
}
|
||||
};
|
||||
|
||||
@@ -669,7 +669,7 @@ FROM MissingEdgeHubInputStream'";
|
||||
DatabaseName = targetDb.DatabaseName,
|
||||
DeploymentOptions = new DeploymentOptions()
|
||||
{
|
||||
ExcludeObjectTypes = new DeploymentOptionProperty<ObjectType[]>(new[] { ObjectType.Views })
|
||||
ExcludeObjectTypes = new DeploymentOptionProperty<string[]>(new[] { Enum.GetName(ObjectType.Views) })
|
||||
}
|
||||
};
|
||||
|
||||
@@ -689,7 +689,7 @@ FROM MissingEdgeHubInputStream'";
|
||||
DatabaseName = targetDb.DatabaseName,
|
||||
DeploymentOptions = new DeploymentOptions()
|
||||
{
|
||||
ExcludeObjectTypes = new DeploymentOptionProperty<ObjectType[]>(new[] { ObjectType.Views })
|
||||
ExcludeObjectTypes = new DeploymentOptionProperty<string[]>(new[] { Enum.GetName(ObjectType.Views) })
|
||||
}
|
||||
};
|
||||
|
||||
@@ -839,6 +839,33 @@ Streaming query statement contains a reference to missing output stream 'Missing
|
||||
dacfxRequestContext.VerifyAll();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verify Object Types Dictionary items with ObjectType Enum members
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Test]
|
||||
public void ValidateObjectTypesOptionswithEnum()
|
||||
{
|
||||
DeploymentOptions options = new DeploymentOptions();
|
||||
|
||||
// Verify the object types dictionary should exists
|
||||
Assert.That(options.ObjectTypesDictionary, Is.Not.Null, "Object types dictionary is empty");
|
||||
|
||||
// Verify that the objects dictionary has all the item from Enum
|
||||
Assert.That(options.ObjectTypesDictionary.Count, Is.EqualTo(Enum.GetNames(typeof(ObjectType)).Length), @"ObjectTypesDictionary is missing these objectTypes: {0}",
|
||||
string.Join(", ", Enum.GetNames(typeof(ObjectType)).Except(options.ObjectTypesDictionary.Keys)));
|
||||
|
||||
// Verify the options in the objects dictionary exists in the ObjectType Enum
|
||||
foreach (var objTypeRow in options.ObjectTypesDictionary)
|
||||
{
|
||||
// Verify the option exists in ObjectType Enum
|
||||
Assert.That(Enum.IsDefined(typeof(ObjectType), objTypeRow.Key), Is.True, $"{objTypeRow.Key} is not an enum member");
|
||||
|
||||
// Verify the options display name exists
|
||||
Assert.That(objTypeRow.Value, Is.Not.Empty, $"Display name for the option {objTypeRow.Key} is empty");
|
||||
}
|
||||
}
|
||||
|
||||
private bool ValidateStreamingJobErrors(ValidateStreamingJobResult expected, ValidateStreamingJobResult actual)
|
||||
{
|
||||
return expected.Success == actual.Success
|
||||
@@ -860,7 +887,7 @@ Streaming query statement contains a reference to missing output stream 'Missing
|
||||
|
||||
if (v.Name == nameof(DeploymentOptions.ExcludeObjectTypes))
|
||||
{
|
||||
Assert.True((defaultP as ObjectType[])?.Length == (actualP as ObjectType[])?.Length, "Number of excluded objects is different not equal");
|
||||
Assert.True((defaultP as string[])?.Length == (actualP as string[])?.Length, "Number of excluded objects is different not equal");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user