@Test(expectedExceptions = ConfigurationRuntimeException.class) public void testBadConfig() throws IOException { String quotaConfigStr = "{\"storage\":\"-1M\"}"; QuotaConfig quotaConfig = JsonUtils.stringToObject(quotaConfigStr, QuotaConfig.class); quotaConfig.validate(); }
@Test(expectedExceptions = ConfigurationRuntimeException.class) public void testNegativeQpsQuota() throws IOException { String quotaConfigStr = "{\"maxQueriesPerSecond\" : \"-1.0\"}"; QuotaConfig quotaConfig = JsonUtils.stringToObject(quotaConfigStr, QuotaConfig.class); Assert.assertNotNull(quotaConfig.getMaxQueriesPerSecond()); quotaConfig.validate(); }
@Test(expectedExceptions = ConfigurationRuntimeException.class) public void testInvalidQpsQuota() throws IOException { String quotaConfigStr = "{\"maxQueriesPerSecond\" : \"InvalidQpsQuota\"}"; QuotaConfig quotaConfig = JsonUtils.stringToObject(quotaConfigStr, QuotaConfig.class); Assert.assertNotNull(quotaConfig.getMaxQueriesPerSecond()); quotaConfig.validate(); }
@Test(expectedExceptions = ConfigurationRuntimeException.class) public void testBadQpsQuota() throws IOException { String quotaConfigStr = "{\"maxQueriesPerSecond\" : \"1.0Test\"}"; QuotaConfig quotaConfig = JsonUtils.stringToObject(quotaConfigStr, QuotaConfig.class); Assert.assertNotNull(quotaConfig.getMaxQueriesPerSecond()); quotaConfig.validate(); } }
@Nonnull public static TableConfig fromJSONConfig(@Nonnull JsonNode jsonConfig) throws IOException { TableType tableType = TableType.valueOf(jsonConfig.get(TABLE_TYPE_KEY).asText().toUpperCase()); String tableName = TableNameBuilder.forType(tableType).tableNameWithType(jsonConfig.get(TABLE_NAME_KEY).asText()); SegmentsValidationAndRetentionConfig validationConfig = extractChildConfig(jsonConfig, VALIDATION_CONFIG_KEY, SegmentsValidationAndRetentionConfig.class); TenantConfig tenantConfig = extractChildConfig(jsonConfig, TENANT_CONFIG_KEY, TenantConfig.class); IndexingConfig indexingConfig = extractChildConfig(jsonConfig, INDEXING_CONFIG_KEY, IndexingConfig.class); TableCustomConfig customConfig = extractChildConfig(jsonConfig, CUSTOM_CONFIG_KEY, TableCustomConfig.class); QuotaConfig quotaConfig = null; if (jsonConfig.has(QUOTA_CONFIG_KEY)) { quotaConfig = extractChildConfig(jsonConfig, QUOTA_CONFIG_KEY, QuotaConfig.class); quotaConfig.validate(); } TableTaskConfig taskConfig = null; if (jsonConfig.has(TASK_CONFIG_KEY)) { taskConfig = extractChildConfig(jsonConfig, TASK_CONFIG_KEY, TableTaskConfig.class); } RoutingConfig routingConfig = null; if (jsonConfig.has(ROUTING_CONFIG_KEY)) { routingConfig = extractChildConfig(jsonConfig, ROUTING_CONFIG_KEY, RoutingConfig.class); } return new TableConfig(tableName, tableType, validationConfig, tenantConfig, indexingConfig, customConfig, quotaConfig, taskConfig, routingConfig); }
if (quotaConfigString != null) { quotaConfig = JsonUtils.stringToObject(quotaConfigString, QuotaConfig.class); quotaConfig.validate();