blob: 76391a04a5710a1b6029cfeac9dddd1e905c617b [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.ambari.metrics.adservice.app
import java.io.File
import java.net.URL
import javax.validation.Validator
import org.scalatest.FunSuite
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.datatype.guava.GuavaModule
import io.dropwizard.configuration.YamlConfigurationFactory
import io.dropwizard.jersey.validation.Validators
class AnomalyDetectionAppConfigTest extends FunSuite {
test("testConfiguration") {
val classLoader = getClass.getClassLoader
val url: URL = classLoader.getResource("config.yaml")
val file = new File(url.getFile)
val objectMapper: ObjectMapper = new ObjectMapper()
objectMapper.registerModule(new GuavaModule)
val validator: Validator = Validators.newValidator
val factory: YamlConfigurationFactory[AnomalyDetectionAppConfig] =
new YamlConfigurationFactory[AnomalyDetectionAppConfig](classOf[AnomalyDetectionAppConfig], validator, objectMapper, "")
val config = factory.build(file)
assert(config.isInstanceOf[AnomalyDetectionAppConfig])
assert(config.getMetricDefinitionServiceConfiguration.getInputDefinitionDirectory ==
"/etc/ambari-metrics-anomaly-detection/conf/definitionDirectory")
assert(config.getMetricCollectorConfiguration.getHosts == "host1,host2")
assert(config.getMetricCollectorConfiguration.getPort == "6188")
assert(config.getAdServiceConfiguration.getAnomalyDataTtl == 604800)
assert(config.getMetricDefinitionDBConfiguration.getDbDirPath == "/var/lib/ambari-metrics-anomaly-detection/")
assert(config.getMetricDefinitionDBConfiguration.getVerifyChecksums)
assert(!config.getMetricDefinitionDBConfiguration.getPerformParanoidChecks)
assert(config.getSparkConfiguration.getMode.equals("standalone"))
assert(config.getSparkConfiguration.getMasterHostPort.equals("localhost:7077"))
}
}