/**
  * Parses the connection string and then validate that the parsed keys belong to
  * the $validSettingKeys
  * 
  * @param string $connectionString The user provided connection string.
  * 
  * @return array The tokenized connection string keys.
  * 
  * @throws \RuntimeException 
  */
 protected static function parseAndValidateKeys($connectionString)
 {
     // Initialize the static values if they are not initialized yet.
     if (!static::$isInitialized) {
         static::init();
         static::$isInitialized = true;
     }
     $tokenizedSettings = ConnectionStringParser::parseConnectionString('connectionString', $connectionString);
     // Assure that all given keys are valid.
     foreach ($tokenizedSettings as $key => $value) {
         if (!Utilities::inArrayInsensitive($key, static::$validSettingKeys)) {
             throw new \RuntimeException(sprintf(Resources::INVALID_CONNECTION_STRING_SETTING_KEY, $key, implode("\n", static::$validSettingKeys)));
         }
     }
     return $tokenizedSettings;
 }
 /**
  * @covers MicrosoftAzure\Storage\Common\Internal\Utilities::inArrayInsensitive
  */
 public function testInArrayInsensitive()
 {
     // Setup
     $value = 'CaseInsensitiVe';
     $array = array('caSeinSenSitivE');
     // Test
     $actual = Utilities::inArrayInsensitive($value, $array);
     // Assert
     $this->assertTrue($actual);
 }