Beispiel #1
0
 def test_extension_with_invalid_configuration_should_raise_error(self):
     with _build_minimal_configuration_dict() as configuration_dict:
         configuration_dict['extensions'] = {
             ConfigurableExtension.name(): 1337,
         }
         with self.assertRaises(ConfigurationError):
             _from_dict(configuration_dict)
Beispiel #2
0
 def test_not_an_extension_type_name_should_error(self):
     with _build_minimal_config() as configuration_dict:
         configuration_dict['extensions'] = {
             '%s.%s' % (self.__class__.__module__, self.__class__.__name__): None,
         }
         with self.assertRaises(ConfigurationValueError):
             _from_dict(configuration_dict)
Beispiel #3
0
 def test_unknown_extension_type_name_should_error(self):
     with _build_minimal_configuration_dict() as configuration_dict:
         configuration_dict['extensions'] = {
             'non.existent.type': None,
         }
         with self.assertRaises(ConfigurationError):
             _from_dict(configuration_dict)
Beispiel #4
0
 def test_should_content_negotiation(self) -> None:
     content_negotiation = True
     with _build_minimal_configuration_dict() as configuration_dict:
         configuration_dict['content_negotiation'] = content_negotiation
         configuration = _from_dict(configuration_dict)
         self.assertEquals(content_negotiation,
                           configuration.content_negotiation)
Beispiel #5
0
 def test_should_root_path(self) -> None:
     configured_root_path = '/betty/'
     expected_root_path = 'betty'
     with _build_minimal_configuration_dict() as configuration_dict:
         configuration_dict['root_path'] = configured_root_path
         configuration = _from_dict(configuration_dict)
         self.assertEquals(expected_root_path, configuration.root_path)
Beispiel #6
0
 def test_should_load_assets_directory_path(self) -> None:
     with TemporaryDirectory() as assets_directory_path:
         with _build_minimal_configuration_dict() as configuration_dict:
             configuration_dict['assets'] = assets_directory_path
             configuration = _from_dict(configuration_dict)
             self.assertEquals(
                 Path(assets_directory_path).expanduser().resolve(),
                 configuration.assets_directory_path)
Beispiel #7
0
 def test_should_load_theme_background_id(self) -> None:
     background_image_id = 'my-favorite-picture'
     with _build_minimal_configuration_dict() as configuration_dict:
         configuration_dict['theme'] = {
             'background_image_id': background_image_id
         }
         configuration = _from_dict(configuration_dict)
         self.assertEquals(background_image_id,
                           configuration.theme.background_image_id)
Beispiel #8
0
 def test_should_load_one_extension_without_configuration(self) -> None:
     with _build_minimal_configuration_dict() as configuration_dict:
         configuration_dict['extensions'] = {
             NonConfigurableExtension.name(): {},
         }
         configuration = _from_dict(configuration_dict)
         expected = ExtensionsConfiguration([
             ExtensionConfiguration(NonConfigurableExtension, True),
         ])
         self.assertEquals(expected, configuration.extensions)
Beispiel #9
0
 def test_should_parse_one_extension_without_configuration(self) -> None:
     with _build_minimal_config() as configuration_dict:
         configuration_dict['extensions'] = {
             NonConfigurableExtension.name(): None,
         }
         configuration = _from_dict(configuration_dict)
         expected = {
             NonConfigurableExtension: None,
         }
         self.assertEquals(expected, dict(configuration.extensions))
Beispiel #10
0
 def test_should_load_locale_locale(self) -> None:
     locale = 'nl-NL'
     locale_config = {
         'locale': locale,
     }
     with _build_minimal_configuration_dict() as configuration_dict:
         configuration_dict['locales'] = [locale_config]
         configuration = _from_dict(configuration_dict)
         self.assertEquals(
             LocalesConfiguration([LocaleConfiguration(locale)]),
             configuration.locales)
Beispiel #11
0
 def test_should_parse_locale_locale(self) -> None:
     locale = 'nl-NL'
     locale_config = {
         'locale': locale,
     }
     with _build_minimal_config() as configuration_dict:
         configuration_dict['locales'] = [locale_config]
         configuration = _from_dict(configuration_dict)
         self.assertDictEqual(OrderedDict({
             locale: LocaleConfiguration(locale),
         }), configuration.locales)
Beispiel #12
0
 def test_should_parse_minimal(self, extension, dumper) -> None:
     with _build_minimal_config() as configuration_dict:
         configuration = _from_dict(configuration_dict)
         self.assertEquals(configuration_dict['output'], configuration.output_directory_path)
         self.assertEquals(configuration_dict['base_url'], configuration.base_url)
         self.assertEquals('Betty', configuration.title)
         self.assertIsNone(configuration.author)
         self.assertEquals('production', configuration.mode)
         self.assertEquals('/', configuration.root_path)
         self.assertFalse(configuration.clean_urls)
         self.assertFalse(configuration.content_negotiation)
Beispiel #13
0
 def test_should_load_minimal(self) -> None:
     with _build_minimal_configuration_dict() as configuration_dict:
         configuration = _from_dict(configuration_dict)
         self.assertEquals(
             Path(configuration_dict['output']).expanduser().resolve(),
             configuration.output_directory_path)
         self.assertEquals(configuration_dict['base_url'],
                           configuration.base_url)
         self.assertEquals('Betty', configuration.title)
         self.assertIsNone(configuration.author)
         self.assertFalse(configuration.debug)
         self.assertEquals('', configuration.root_path)
         self.assertFalse(configuration.clean_urls)
         self.assertFalse(configuration.content_negotiation)
Beispiel #14
0
 def test_should_parse_one_extension_with_configuration(self) -> None:
     with _build_minimal_config() as configuration_dict:
         extension_configuration = {
             'check': 1337,
         }
         configuration_dict['extensions'] = {
             ConfigurableExtension.name(): extension_configuration,
         }
         configuration = _from_dict(configuration_dict)
         expected = {
             ConfigurableExtension: {
                 'check': 1337,
                 'default': 'I will always be there for you.',
             },
         }
         self.assertEquals(expected, dict(configuration.extensions))
Beispiel #15
0
 def test_should_load_one_extension_with_configuration(self) -> None:
     with _build_minimal_configuration_dict() as configuration_dict:
         extension_configuration = {
             'check': 1337,
         }
         configuration_dict['extensions'] = {
             ConfigurableExtension.name(): {
                 'configuration': extension_configuration,
             },
         }
         configuration = _from_dict(configuration_dict)
         expected = ExtensionsConfiguration([
             ExtensionConfiguration(
                 ConfigurableExtension, True,
                 ConfigurableExtensionConfiguration(
                     check=1337,
                     default='I will always be there for you.',
                 )),
         ])
         self.assertEquals(expected, configuration.extensions)
Beispiel #16
0
 def test_should_error_if_invalid_config(self) -> None:
     configuration_dict = {}
     with self.assertRaises(ConfigurationError):
         _from_dict(configuration_dict)
Beispiel #17
0
 def test_should_parse_mode(self, mode: str) -> None:
     with _build_minimal_config() as configuration_dict:
         configuration_dict['mode'] = mode
         configuration = _from_dict(configuration_dict)
         self.assertEquals(mode, configuration.mode)
Beispiel #18
0
 def test_should_parse_assets_directory_path(self) -> None:
     with TemporaryDirectory() as assets_directory_path:
         with _build_minimal_config() as configuration_dict:
             configuration_dict['assets_directory_path'] = assets_directory_path
             configuration = _from_dict(configuration_dict)
             self.assertEquals(assets_directory_path, configuration.assets_directory_path)
Beispiel #19
0
 def test_should_load_title(self) -> None:
     title = 'My first Betty site'
     with _build_minimal_configuration_dict() as configuration_dict:
         configuration_dict['title'] = title
         configuration = _from_dict(configuration_dict)
         self.assertEquals(title, configuration.title)
Beispiel #20
0
 def test_should_load_debug(self, debug: bool) -> None:
     with _build_minimal_configuration_dict() as configuration_dict:
         configuration_dict['debug'] = debug
         configuration = _from_dict(configuration_dict)
         self.assertEquals(debug, configuration.debug)
Beispiel #21
0
 def test_should_load_author(self) -> None:
     author = 'Bart'
     with _build_minimal_configuration_dict() as configuration_dict:
         configuration_dict['author'] = author
         configuration = _from_dict(configuration_dict)
         self.assertEquals(author, configuration.author)
Beispiel #22
0
 def test_should_clean_urls(self) -> None:
     clean_urls = True
     with _build_minimal_configuration_dict() as configuration_dict:
         configuration_dict['clean_urls'] = clean_urls
         configuration = _from_dict(configuration_dict)
         self.assertEquals(clean_urls, configuration.clean_urls)