'Create NameSpace and run checks
:param namespace_name: Display name of namespace in template
:param page: Connection point
:param template_json_container: JSON container with NameSpace content
:param expected_namespace_res: Resources from template
:param template_source_type: \'raw\' or \'file\'
:param is_public: True or False
:param is_protected: If True- you can\'t delete it from GUI
:param checks: Put name of columns if you need to check actual
representation of \'public\' and/or \'protected\' value.
To disable leave it empty: \'\' OR put None
:param template_path: Full path to NameSpace template file
:return: Nothing'

def namespace_create_with_checks(self, namespace_name, page, template_json_container, expected_namespace_res=None, template_source_type='raw', is_public=True, is_protected=False, template_path=None, checks=(PUBLIC, PROTECTED)):

    if (template_source_type == 'file'):
        template_json_container = template_path
    page.import_namespace(namespace_json_container=template_json_container, is_public=is_public, is_protected=is_protected, namespace_source_type=template_source_type)
    self.assertTrue(page.find_message_and_dismiss(messages.SUCCESS))
    self.assertFalse(page.find_message_and_dismiss(messages.ERROR))
    self.assertTrue(page.is_namespace_present(namespace_name))
    row = page._get_row_with_namespace_name(namespace_name)
    if checks:
        if (self.PUBLIC in checks):
            self.assertTrue(page.is_public_set_correct(namespace_name, is_public, row))
        elif (self.PROTECTED in checks):
            self.assertTrue(page.is_protected_set_correct(namespace_name, is_protected, row))
    if expected_namespace_res:
        self.assertTrue(page.is_resource_type_set_correct(namespace_name, expected_namespace_res, row))
