예제 #1
0
 def test_model_invalid_fk(self):
     with self.assertRaises(InvalidFieldTypeError):
         StatikModel(
             name='TestModel',
             from_string=TEST_MODEL_INVALID_FK,
             model_names=['TestModel']
         )
예제 #2
0
 def test_model_valid_fk(self):
     model = StatikModel(
         name='TestModel',
         from_string=TEST_MODEL_VALID_FK,
         model_names=['TestModel', 'OtherModel']
     )
     self.assertEqual('TestModel', model.name)
     self.assertIsInstance(model.fields['string_field'], StatikStringField)
     self.assertIsInstance(model.fields['other_field'], StatikForeignKeyField)
     self.assertEqual('OtherModel', model.fields['other_field'].field_type)
예제 #3
0
 def test_model_from_string(self):
     model = StatikModel(
         name='TestModel',
         from_string=TEST_MODEL_VALID,
         model_names=['TestModel']
     )
     self.assertEqual('TestModel', model.name)
     self.assertIsInstance(model.fields['string_field'], StatikStringField)
     self.assertIsInstance(model.fields['datetime_field'], StatikDateTimeField)
     self.assertIsInstance(model.fields['int_field'], StatikIntegerField)
     self.assertIsInstance(model.fields['bool_field'], StatikBooleanField)
     self.assertIsInstance(model.fields['some_content_field'], StatikContentField)
     self.assertIsInstance(model.fields['text_field'], StatikTextField)
     self.assertIsInstance(model.fields['name'], StatikStringField)
예제 #4
0
파일: project.py 프로젝트: tylerdave/statik
    def load_models(self):
        models_path = os.path.join(self.path, StatikProject.MODELS_DIR)
        logger.debug("Loading models from: %s" % models_path)
        if not os.path.isdir(models_path):
            raise MissingProjectFolderError(StatikProject.MODELS_DIR, "Project is missing its models folder")

        model_files = list_files(models_path, ['yml', 'yaml'])
        logger.debug("Found %d model(s) in project" % len(model_files))
        # get all of the models' names
        model_names = [extract_filename(model_file) for model_file in model_files]
        models = {}
        for model_file in model_files:
            model_name = extract_filename(model_file)
            models[model_name] = StatikModel(
                os.path.join(models_path, model_file),
                name=model_name,
                model_names=model_names
            )

        return models
예제 #5
0
    def load_models(self):
        models_path = os.path.join(self.path, StatikProject.MODELS_DIR)
        logger.debug("Loading models from: %s", models_path)
        if not os.path.isdir(models_path):
            raise MissingProjectFolderError(StatikProject.MODELS_DIR)

        model_files = list_files(models_path, ['yml', 'yaml'])
        logger.debug("Found %d model(s) in project", len(model_files))
        # get all of the models' names
        model_names = [extract_filename(model_file) for model_file in model_files]
        models = {}
        for model_file in model_files:
            model_name = extract_filename(model_file)
            models[model_name] = StatikModel(
                filename=os.path.join(models_path, model_file),
                encoding=self.config.encoding,
                name=model_name,
                model_names=model_names,
                error_context=self.error_context
            )

        return models
예제 #6
0
 def test_invalid_model(self):
     with self.assertRaises(MissingParameterError):
         StatikModel()