/**
  * @dataProvider                   listenPortProvider
  *
  * @param int $listenPort
  *
  * @expectedException \Jalle19\StatusManager\Exception\InvalidConfigurationException
  * @expectedExceptionMessageRegExp *Listen port must be between*
  */
 public function testListenPort($listenPort)
 {
     $configuration = $this->getBaseConfiguration();
     $configuration['listen_port'] = $listenPort;
     $validator = new Validator($configuration);
     $validator->validate();
 }
 /**
  * Parses the application configuration
  *
  * @param ReaderInterface $reader
  *
  * @return Configuration the parsed configuration
  * @throws InvalidConfigurationException if the configuration couldn't be parsed and validated
  */
 public static function parseConfiguration(ReaderInterface $reader)
 {
     $configuration = $reader->readConfiguration();
     // Validate the configuration
     $validator = new Validator($configuration);
     $validator->validate();
     // Create the configuration object
     $config = new Configuration();
     $config->setDatabasePath($configuration['database_path'])->setLogPath($configuration['log_path'])->setInstances(self::parseInstances($configuration))->setAccessToken($configuration['access_token'])->setUpdateInterval($configuration['update_interval'])->setListenAddress($configuration['listen_address'])->setListenPort($configuration['listen_port'])->setHttpListenPort($configuration['http_listen_port'])->setHttpUsername($configuration['http_username'])->setHttpPassword($configuration['http_password']);
     return $config;
 }