in Amazon.KinesisTap.DiagnosticTool.Core/Commands/ConfigValidatorCommand.cs [48:112]
public int ParseAndRunArgument(string[] args)
{
if (args.Length == 1 || args.Length == 2)
{
try
{
string configPath = null;
IList<string> messages;
var ConfigFileValidator = new ConfigValidator(AppContext.BaseDirectory, _sourceValidators, _loadConfigFile);
var isValid = false;
if (args.Length == 2)
{
configPath = args[1];
isValid = ConfigFileValidator.ValidateSchema(configPath, out messages);
}
else
{
isValid = ConfigFileValidator.ValidateSchema(Utility.GetKinesisTapConfigPath(), Constant.CONFIG_FILE, out messages);
}
Console.WriteLine("Diagnostic Test #1: Pass! Configuration file is a valid JSON object.");
if (isValid)
{
Console.WriteLine("Diagnostic Test #2: Pass! Configuration file has the valid JSON schema!");
}
else
{
Console.WriteLine("Diagnostic Test #2: Fail! Configuration file doesn't have the valid JSON schema: ");
foreach (var message in messages)
{
Console.WriteLine(message);
}
Console.WriteLine("Please fix the Configuration file to match the JSON schema");
}
return Constant.NORMAL;
}
catch (FormatException ex)
{
Console.WriteLine("Diagnostic Test #1: Fail! Configuration file is not a valid JSON object.");
Console.WriteLine(ex.Message);
return Constant.INVALID_FORMAT;
}
catch (FileNotFoundException ex)
{
Console.WriteLine("Diagnostic Test #1: Fail! Configuration file is not found.");
Console.WriteLine(ex.ToString());
return Constant.RUNTIME_ERROR;
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
return Constant.RUNTIME_ERROR;
}
}
else
{
WriteUsage();
return Constant.INVALID_ARGUMENT;
}
}