Example #1
0
        public async Task <ApiMockerConfig> GetConfig(string fileName)
        {
            if (_config == null)
            {
                var fullFilePath = _fileSettingsProvider.GetFullFilePath(fileName, ConfigsFolder);
                if (!_fileSettingsProvider.FileExists(fullFilePath))
                {
                    _logger.LogError($"File not found {fullFilePath} /n ApiMockerDotNet cannot start without a valid config file");
                    _logger.LogError($"Please add a config file in the {ConfigsFolder} folder");
                    //config not found, exit the method and try again
                    return(_config);
                }

                var fileContent = await _fileSettingsProvider.GetFileContent(fullFilePath);

                JsonSerializerSettings serializerSettings = new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Error,
                    ContractResolver      = new CamelCasePropertyNamesContractResolver()
                };

                try
                {
                    var deserializedConfig = JsonConvert.DeserializeObject <ApiMockerConfig>(fileContent, serializerSettings);
                    _config = deserializedConfig;
                }
                catch
                {
                    _logger.LogError($"Invalid JSON in config file {fullFilePath}");
                    _logger.LogError($"Please add a valid file in the {ConfigsFolder} folder");
                    //invalid json, killing the exception, try again with a valid file
                }
            }

            return(_config);
        }
Example #2
0
        public async Task <ApiMockerConfig> GetApiMockerConfig(ApplicationSettings applicationSettings)
        {
            ApiMockerConfig apiMockerConfig = null;
            var             fileContent     = await File.ReadAllTextAsync(applicationSettings.ConfigFullFilePath);

            JsonSerializerSettings serializerSettings = new JsonSerializerSettings
            {
                MissingMemberHandling = MissingMemberHandling.Error,
                ContractResolver      = new CamelCasePropertyNamesContractResolver()
            };

            try
            {
                apiMockerConfig = JsonConvert.DeserializeObject <ApiMockerConfig>(fileContent, serializerSettings);
            }
            catch
            {
                _logger.LogError($"Invalid JSON in config file {applicationSettings.ConfigFullFilePath}");
                _logger.LogError($"Please add a valid file in the {applicationSettings.ConfigsFolder} folder");
                //invalid json, killing the exception, try again with a valid file
            }

            return(apiMockerConfig);
        }