示例#1
0
 def update_category(self):
     inputs = self.get_input()
     if web.ctx.method == "GET":
         category_id = inputs.get("category_id")
         category = Categories.get_or_none(Categories.id == category_id)
         category_list = Categories.select().where(Categories.status == 0)
         self.private_data["category"] = category
         self.private_data["category_list"] = category_list
         return self.display("admin/update_category")
     else:
         category_id = inputs.get('category_id')
         name = inputs.get('name')
         desc = inputs.get('desc')
         parent_id = inputs.get("parent_id")
         category = Categories.get_or_none(Categories.id == category_id)
         try:
             category.update(name=name,
                             description=desc,
                             parent_id=parent_id). \
                 where(Categories.id == category_id).execute()
             self.private_data["create_success"] = True
             return web.seeother(self.make_url('category_list'))
         except Exception as e:
             log.error('update category failed %s' % traceback.format_exc())
             log.error('input params %s' % inputs)
             self.private_data["update_success"] = False
             return self.display("admin/update_category")
示例#2
0
 def setUp(self):
     """Defining setUp() method that runs prior to each test."""
     self.newCat = Categories()
     self.newCat.category_register("category", "*****@*****.**")
     self.newCat.category_edit("category", "category_one",
                               "*****@*****.**")
     app.config['TESTING'] = True
     self.test_app = app.test_client()
示例#3
0
 def setUp(self):
     """Defining setUp() method that runs prior to each test."""
     self.newRecipe = Recipe()
     self.newCategory = Categories()
     self.recipe_register = self.newRecipe.recipe_register(
         "category", "recipe", "*****@*****.**", "recipe_ingredients",
         "recipe_methods")
     self.newCategory.category_register("category_one", "*****@*****.**")
     app.config['TESTING'] = True
     self.test_app = app.test_client()
示例#4
0
    def __init__(self):
        db.connect()

        tables = [
            Albums,
            ArticleComments,
            Articles,
            Categories,
            Images,
            Users,
            Version,
        ]

        if not Version.table_exists():
            db.create_tables(tables)

        self.version, _ = Version.get_or_create(description="0.1")
        self.default_thumbnail = "data:image/jpg;base64,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"
        # self.default_thumbnail = base64.b64encode(
        #     buffer(Imaging.default_thumbnail()))

        self.sys_categories, _ = Categories.get_or_create(
            name='系统分类',
            description='初始父类!',
            thumbnail=self.default_thumbnail,
        )
        self.article_categories = Categories.create(
            name='文章',
            description='文章',
            thumbnail=self.default_thumbnail,
            parent=self.sys_categories)

        self.admin, _ = Users.get_or_create(
            name='admin',
            cellphone='19999999999',
            email='*****@*****.**',
            address='陕西西安',
            birthday='2020.9',
            password='******',
            gender=0,
            description='系统管理员!',
            avatar=self.default_thumbnail)

        self.sys_album, _ = Albums.get_or_create(
            name='系统专辑',
            description='系统专辑!',
            thumbnail=self.default_thumbnail,
            owner=self.admin)

        self.sys_image, _ = Images.get_or_create(
            description='系统图片!',
            thumbnail=self.default_thumbnail,
            owner=self.admin,
            album=self.sys_album,
            uuid='default')
示例#5
0
 def __init__(self):
     self.connection_manager = ConnectionManager()
     self.database = Database()
     self.records = Records()
     self.categories = Categories()
     self.products = Products()
     self.substitutes = Substitutes()
     self.abandon = Abandon()
     self.menu = Menu()
     self.register = Register()
     self.research = Research()
     self.tests = Tests()
     self.initialize_database()
示例#6
0
    def post(self):
        name_category = self.request.get("name_c")

        if (name_category == 'all'):
            self.redirect('/projects')
        else:
            if (name_category):
                category = Categories.by_name(name_category)
            projects = Projects.query(Projects.category_name == name_category).fetch()
            categories = Categories.query(Categories.user == self.user).fetch()
            self.render('projects.html',
                        category_filter = category,
                        projects = projects,
                        categories = categories)
    def get(self):
        if self.user:
            # skills
            skills = Skills.query(Skills.user == self.user).fetch()
            # recent projects
            recent = Projects.query(Projects.user == self.user).fetch(limit=5)
            # create dictionary to hold categories with their projects
            data = {}
            # holds the categories which are meant to be shown on homepage
            featured_categories = []
            categories = Categories.query(Categories.user == self.user).fetch()
            for i in categories:
                if (i.feature == True):
                    featured_categories.append(i)
                    data['{}'.format(i.name)] = Projects.query(
                        Projects.category_name == i.name
                        and Projects.feature == True
                        and Projects.user == self.user).fetch()

            self.render('welcome.html',
                        recent=recent,
                        data=data,
                        categories=featured_categories,
                        skills=skills,
                        user=self.user)
        else:
            self.redirect('/login')
示例#8
0
 def search_list(self):
     """
     文章搜索列表
     :return:
     """
     inputs = self.get_input()
     page = int(inputs.get('page', 1))
     page_size = int(inputs.get('page_size', 20))
     keywords = inputs.get('keywords', None)
     self.private_data['article_list'] = []
     self.private_data['current_page'] = 1
     self.private_data['total_page'] = 0
     self.private_data['category_list'] = []
     self.private_data['keywords'] = keywords
     try:
         category_list = Categories.select().where(Categories.status == 0). \
             order_by(Categories.id.desc())
         if keywords:
             article_query = Articles.select().where(
                 Articles.name.contains(keywords))
             total_count = article_query.count()
             total_page = (total_count + page_size - 1) / page_size
             self.private_data['total_page'] = total_page
             self.private_data['current_page'] = page
             self.private_data['category_list'] = category_list
             self.private_data['article_list'] = article_query.\
                 paginate(page, page_size)
             return self.display('front/search_list')
     except Exception as e:
         log.info('Failed to get search result. Keywords is %s. Error msg is',
                  keywords, e)
         log.error(traceback.format_exc())
     return self.display('front/search_list')
示例#9
0
 def post(self):
     if self.user:
         name = self.request.get('category_name')
         feature = self.request.get("c_feature")
         if name:
             c = Categories(parent = categories_key(),
                            name = name,
                            user = self.user)
             if (feature and feature == 'true'):
                 c.feature = True
             c.put()
             self.redirect('/main')
         else:
             self.render('errorpage.html', error = "No Category Given")
     else:
         self.redirect('/login')
def get_all_categories():
    # Open a connection to the database
    with sqlite3.connect("./rare.db") as conn:

        # Just use these. It's a Black Box.
        conn.row_factory = sqlite3.Row
        db_cursor = conn.cursor()

        # Write the SQL query to get the information you want
        db_cursor.execute("""
        SELECT
            c.id,
            c.label
        FROM categories c
        """)

        # Initialize an empty list to hold all animal representations
        categories = []

        # Convert rows of data into a Python list
        dataset = db_cursor.fetchall()

        # Iterate list of data returned from database
        for row in dataset:

            category = Categories(row['id'], row['label'])

            categories.append(category.__dict__)

    # Use `json` package to properly serialize list as JSON
    return json.dumps(categories)
示例#11
0
 def get(self):
     projects = Projects.query(Projects.user == self.user).fetch()
     categories = Categories.query(Categories.user == self.user).fetch()
     skills = Skills.query(Skills.user == self.user).fetch()
     self.render('projects.html',
                 projects=projects,
                 categories=categories,
                 skills=skills)
示例#12
0
 def get(self, user_name):
     user_other = User.by_name(user_name)
     projects = Projects.query(Projects.user == user_other).fetch()
     categories = Categories.query(Categories.user == user_other).fetch()
     self.render('visitprojects.html',
                 projects=projects,
                 categories=categories,
                 user_other=user_other)
示例#13
0
 def create_article(self):
     if web.ctx.method == "GET":
         category_list = Categories.select().where(Categories.status == 0)
         self.private_data["category_list"] = category_list
         return self.display("admin/create_article")
     else:
         inputs = self.get_input()
         title = inputs.get('name')
         content = inputs.get('content')
         summary = inputs.get("summary")
         category_id = inputs.get("category_id")
         source_url = inputs.get("source_url", "")
         keywords = str(inputs.get("keywords", "")).strip()
         image = Images.get_or_none()
         category = Categories.get_or_none(Categories.id == category_id)
         try:
             tags_list = keywords.split(",") if keywords else []
             if tags_list:
                 got_tags = Tags.select().where(Tags.name.in_(tags_list))
                 tmp_list = []
                 for tag in got_tags:
                     tmp_list.append(tag.name)
                 for tag_str in tags_list:
                     if tag_str not in tmp_list:
                         t = Tags(name=tag_str)
                         t.save()
                 db = TinyDB('settings/db.json')
                 db.truncate()
                 db.close()
             article = Articles(name=title,
                                content=content,
                                summary=summary,
                                category=category,
                                original_address=source_url,
                                keywords=keywords,
                                thumbnail=image)
             article.save()
             self.private_data["create_success"] = True
             return web.seeother(self.make_url('articles'))
         except Exception as e:
             log.error('create article failed %s' % traceback.format_exc())
             log.error('input params %s' % inputs)
             self.private_data["create_success"] = False
             return self.display("admin/create_article")
示例#14
0
文件: dbinit.py 项目: XinMa1/work
    def __init__(self):
        db.connect()
        self.version = None
        self.admin = None
        self.sys_category = None
        self.default_thumbnail = None
        self.sys_image = None

        if not Version.table_exists():
            tables = [
                Version,
                Categories,
                Products,
                News,
                Notifications,
                Images,
                Orders,
                OrderDetails,
                Users,   
                Contacts,
                Accountings,
                AccountIncommings,
                AccountOutgoings,
                Questions,
                Answers,
                Albums
            ]
        
            db.create_tables(tables)

            self.version=Version.create(description=open('VERSION').read())
            self.default_thumbnail = base64.b64encode(buffer(imaging.default_thumbnail()))
  
 
            self.sys_category = Categories.create(
                            name = '系统预置分类',
                            description = '预置的初始父类!',
                         )

            self.sys_image = Images.create(
                            description = '预置的系统图片!',
                            thumbnail = self.default_thumbnail,
                            uuid = 'default'
                         )

            self.admin = Users.create(
                            name = 'admin',
                            cellphone = '13912345678',
                            email = '*****@*****.**',
                            password = '******',
                            gender = 0,
                            avatur = self.sys_image,
                            description = '系统管理员',
                            weixin= '0',
                            address= 'sv',
                         )
    def post(self, project_id):
        if not self.user:
            self.redirect('/login')
        key = ndb.Key('Projects', int(project_id), parent=post_key())
        p = key.get()
        title = self.request.get("title")
        link = self.request.get("link")
        description = self.request.get("description")
        programming_language = self.request.get("programming_language")
        category = self.request.get("name_category")
        add_category = self.request.get("add_category")
        feature = self.request.get("p_feature")
        error = "NEEDS A TITLE!"

        if (p and p.user.name == self.user.name):
            if (title):
                p.title = title
                if (link):
                    p.link = link
                else:
                    p.link = '[None]'
                if (description):
                    p.description = description
                else:
                    p.description = '[None]'
                if (programming_language):
                    p.programming_language = programming_language
                if (category):
                    p.category_name = category
                if (add_category):
                    c = Categories(name=add_category, user=self.user)
                    c.put()
                if (feature and feature == "true"):
                    p.feature = True
                else:
                    p.feature = False
                p.put()
                self.redirect('/main')
            else:
                self.render('editproject.html', project=p, error=error)
        else:
            self.redirect('/login')
示例#16
0
文件: referer.py 项目: XinMa1/work
 def product_prices(self):
     inputParams = self.getInput()
     try:
         productsList = Products.select().where(Products.category==int(inputParams['category'])).order_by(Products.id.desc())
         self.privData['PRODUCTS_LIST'] = productsList
         self.privData['ORDER'] = int(inputParams['order']) if inputParams.has_key('order') else -1
         self.privData['CATEGORY'] = Categories.get(Categories.id==int(inputParams['category']))
         return self.display('product-prices')
     except Exception, e:
         print e
         return self.error(msg='获取产品价格列表失败!')
示例#17
0
文件: referer.py 项目: XinMa1/work
    def categories(self):
        inputParams = self.getInput()

        try:
            parent = inputParams['parent']
            order = int(inputParams['order']) if inputParams.has_key('order') else -1
            categoriesList = Categories.select().where(Categories.parent==parent)
            self.privData['CATEGORIES_LIST'] = categoriesList
            self.privData['ORDER'] = order
            return self.display('categories-list')
        except Exception, e:
            return self.error(msg='获取分类列表失败: %s' % e)
示例#18
0
 def resume(self):
     """标签下文章列表:return:"""
     self.private_data['category_list'] = []
     try:
         category_list = Categories.select().where(Categories.status == 0).\
             order_by(Categories.id.desc())
         self.private_data['category_list'] = category_list
         return self.display('front/resume')
     except Exception as e:
         log.info('Failed to get search result.tag is%s.Error msg is', e)
         log.error(traceback.format_exc())
     return self.display('front/resume')
示例#19
0
def _lastcateids(parent, iditem):
    try:
        id_item = iditem
        cate = Categories.select().where(Categories.id == parent)
        for item in cate:
            if item.children.count() == 0:
                id_item.append(item.id)
            elif item.children.count():
                _getchildren(item, id_item)
        return id_item
    except Exception:
        return False
    def get(self):
        if self.user:
            projects = Projects.query(Projects.user == self.user).fetch(
                limit=5)
            categories = Categories.query(Categories.user == self.user).fetch()
            skills = Skills.query(Skills.user == self.user).fetch()

            self.render('welcome.html',
                        projects=projects,
                        categories=categories,
                        skills=skills)
        else:
            self.redirect('/login')
    def get(self, project_id):
        if not self.user:
            self.redirect('/login')
        key = ndb.Key('Projects', int(project_id), parent=post_key())
        project = key.get()
        categories = Categories.query(Categories.user == self.user).fetch()

        if (project and project.user.name == self.user.name):
            self.render('editproject.html',
                        project=project,
                        categories=categories)
        else:
            self.redirect('/login')
    def post(self, user_name):
        user_other = User.by_name(user_name)
        if user_other:
            name_category = self.request.get("name_c")

            if (name_category == 'all'):
                self.redirect('/visit/projects/%s' % (user_other.name))
            else:
                if (name_category):
                    category = Categories.by_name(name_category)
                projects = Projects.query(
                    Projects.category_name == name_category).fetch()
                categories = Categories.query(
                    Categories.user == user_other).fetch()
                self.render('visitprojects.html',
                            category_filter=category,
                            user_other=user_other,
                            projects=projects,
                            categories=categories)
        else:
            self.render('errorpage.html',
                        error="Sorry, that information could not be found.")
示例#23
0
    def post(self):
        title = self.request.get("title")
        link = self.request.get("link")
        description = self.request.get("description")
        programming_language = self.request.get("programming_language")
        category = self.request.get("name_category")
        add_category = self.request.get("add_category")
        feature = self.request.get("p_feature")
        error = "Need Title, Link, and Description!"

        if self.user:
            if (title):
                p = Projects(parent=post_key(),
                             title=title,
                             link='[None]',
                             description='[None]',
                             user=self.user)
                if (link):
                    p.link = link
                if (description):
                    p.description = description
                if (programming_language):
                    p.programming_language = programming_language
                if (category):
                    p.category_name = category
                if (add_category):
                    c = Categories(name=add_category, user=self.user)
                    c.put()
                if (feature and feature == "true"):
                    p.feature = True
                else:
                    p.feature = False
                p.put()
                self.redirect('/main')
            else:
                self.redirect('/main')
        else:
            self.redirect('/login')
示例#24
0
    def articles(self):
        """
        文章分类列表
        :return:
        """
        inputs = self.get_input()
        page = int(inputs.get('page', 1))
        page_size = int(inputs.get('page_size', 20))
        category_id = int(inputs.get('category_id', 2))
        self.private_data['article_list'] = []
        self.private_data['current_page'] = 1
        self.private_data['total_page'] = 0
        self.private_data['category_list'] = []
        self.private_data['current_category'] = None
        try:
            category = Categories.get(Categories.id == category_id)
            category_list = Categories.select().where(Categories.status == 0).\
                order_by(Categories.id.desc())

            article_query = Articles.select().where(
                Articles.category == category.id).order_by(Articles.id.desc())
            article_list = article_query.paginate(page, page_size)
            total_count = article_query.count()
            total_page = (total_count + page_size - 1) / page_size
            self.private_data['article_list'] = article_list
            self.private_data['current_category'] = category
            self.private_data['current_page'] = page
            self.private_data['category_list'] = category_list
            self.private_data['total_page'] = total_page
            return self.display('front/article_list')
        except Exception as e:
            log.error('Failed to get category articles data. '
                      'Category_id is %s Error msg %s', category_id, e)
            log.error(traceback.format_exc())
        # return self.error(msg="获取列表信息失败!", url=self.make_url('/views/home'))
        return self.display('front/article_list')
示例#25
0
 def about(self):
     """
     文章详情信息
     :return:
     """
     self.private_data['category_list'] = []
     try:
         category_list = Categories.select().where(Categories.status == 0). \
             order_by(Categories.id.desc()).execute()
         self.private_data['category_list'] = category_list
         return self.display('front/about')
     except Exception as e:
         log.info('Failed to get article info.  Error msg '
                  'is', e)
         log.error(traceback.format_exc())
     return self.display('front/about')
 def get(self, user_name):
     user_other = User.by_name(user_name)
     if user_other:
         other_projects = Projects.query(
             Projects.user.name == user_name).fetch()
         other_categories = Categories.query(
             Categories.user.name == user_name).fetch()
         recent_projects = Projects.query(
             Projects.user.name == user_name).fetch(limit=6)
         other_skills = Skills.query(Skills.user.name == user_name).fetch()
         self.render('visitmain.html',
                     recent_projects=recent_projects,
                     other_projects=other_projects,
                     other_categories=other_categories,
                     user_other=user_other,
                     other_skills=other_skills)
     else:
         self.render('errorpage.html',
                     error="Sorry, that user could not be found.")
示例#27
0
 def article_tag_list(self):
     """标签下文章列表:return:"""
     inputs = self.get_input()
     tag = inputs.get('tag', None)
     self.private_data['category_list'] = []
     self.private_data['tag'] = tag
     self.private_data['article_list'] = []
     try:
         category_list = Categories.select().where(Categories.status == 0).\
             order_by(Categories.id.desc())
         if tag:
             article_query = Articles.select().where(Articles.keywords.contains(tag))
             self.private_data['category_list'] = category_list
             self.private_data['article_list'] = article_query.paginate(1, 20)
         return self.display('front/tags_list')
     except Exception as e:
         log.info('Failed to get search result.tag is%s.Error msg is', tag, e)
         log.error(traceback.format_exc())
     return self.display('front/tags_list')    \
def add_expense(raw_message: str) -> Expense:
    parsed_message = _parse_message(raw_message)
    category = Categories().get_category(parsed_message.category_text)

    with connect() as conn, conn.cursor() as cur:
        cur.execute(
            """
            INSERT INTO expense(amount, created, category_codename, raw_text)
            VALUES (%s, NOW(), %s, %s)
            """,
            (
                parsed_message.amount,
                category.codename,
                parsed_message.category_text,
            ),
        )
    return Expense(
        id=None, amount=parsed_message.amount, category_name=category.name
    )
示例#29
0
 def category_list(self):
     inputs = self.get_input()
     page = int(inputs.get('page', 1))
     page_size = int(inputs.get('page_size', 20))
     self.private_data['current_page'] = page
     self.private_data['total_page'] = 0
     self.private_data['category_list'] = []
     try:
         category_query = Categories.select().where(Categories.status == 0). \
             order_by(Categories.id.desc())
         total_count = category_query.count()
         total_page = (total_count + page_size - 1) / page_size
         self.private_data['category_list'] = \
             category_query.paginate(page, page_size).execute()
         self.private_data['total_page'] = total_page
         return self.display("admin/category_list")
     except Exception as e:
         log.error('Failed to get category list data. Error msg %s', e)
         log.error(traceback.format_exc())
     return self.display('admin/category_list')
示例#30
0
 def GET(self):
     """
     首页
     :return:
     """
     inputs = self.get_input()
     page = int(inputs.get('page', 1))
     page_size = int(inputs.get('page_size', 20))
     self.private_data['article_list'] = []
     self.private_data['current_page'] = 1
     self.private_data['total_page'] = 0
     self.private_data['category_list'] = []
     try:
         album = Albums.get(Albums.is_show == 1)
         images = Images.select().where(Images.status == 0,
                                             Images.album == album.id)
         images_dict_list = []
         for image in images.dicts().iterator():
             image_dict = {
                 'link': image.get("link"),
                 'url': config.WEB_URL + 'static/uploads/' +
                        image.get("uuid") + '.jpeg'
             }
             images_dict_list.append(image_dict)
         category_list = Categories.select().where(
             Categories.status == 0). \
             order_by(Categories.id.desc())
         article_query = Articles.select().where(Articles.status == 0). \
             order_by(Articles.id.desc())
         article_list = article_query.paginate(page, page_size)
         total_count = article_query.count()
         total_page = (total_count + page_size - 1) / page_size
         self.private_data['article_list'] = article_list.execute()
         self.private_data['current_page'] = page
         self.private_data['total_page'] = total_page
         self.private_data['images_list'] = images_dict_list
         self.private_data['category_list'] = category_list.execute()
     except Exception as e:
         log.error('Failed to get home data. Error msg %s', e)
         log.error(traceback.format_exc())
     return self.display('front/index')
示例#31
0
 def article_info(self):
     """
     文章详情信息
     :return:
     """
     inputs = self.get_input()
     article_id = int(inputs.get('article_id', 1))
     self.private_data['article'] = None
     self.private_data['category_list'] = []
     try:
         category_list = Categories.select().where(Categories.status == 0). \
             order_by(Categories.id.desc()).execute()
         article = Articles.get(Articles.id == article_id)
         self.private_data['article'] = article
         self.private_data['category_list'] = category_list
         return self.display('front/article_info')
     except Exception as e:
         log.info('Failed to get article info. Article id is %s. Error msg '
                  'is', article_id, e)
         log.error(traceback.format_exc())
     return self.display('front/article_info')
示例#32
0
class CategoryTest(unittest.TestCase, Users):
    """ Class performing unit testing for class Recipe"""
    def setUp(self):
        """Defining setUp() method that runs prior to each test."""
        self.newCat = Categories()
        self.newCat.category_register("category", "*****@*****.**")
        self.newCat.category_edit("category", "category_one",
                                  "*****@*****.**")
        app.config['TESTING'] = True
        self.test_app = app.test_client()

    def test_category_register_route(self):
        """ Test to check if category register route works"""
        response = self.test_app.get('/cat_register')
        self.assertEqual(response.status_code, 200)

    def test_view_category_route(self):
        """ Test to check if view category route works"""
        response = self.test_app.get('/view_category/Lunch')
        self.assertEqual(response.status_code, 200)

    def test_category_registration(self):
        """ Test to check succesful category creation"""
        category_registration = self.newCat.category_register(
            "category_one", "*****@*****.**")
        self.assertEqual("Successfully created category",
                         category_registration)

    def test_category_exists(self):
        """ Test to check if category_name exists """
        category_exists = self.newCat.category_register(
            "category", "*****@*****.**")
        self.assertEqual("Category exists", category_exists)

    def test_null_category(self):
        """ Test to test creation of a null category name"""
        category_registration = self.newCat.category_register(
            "", "*****@*****.**")
        self.assertEqual("Category name is null", category_registration)

    def test_edit_category_route(self):
        """ Test to check if view category route works"""
        response = self.test_app.get('/category_edit/Lunch')
        self.assertEqual(response.status_code, 200)

    def test_delete_category_route(self):
        """ Test to check if view category route works"""
        response = self.test_app.get('/category_delete')
        self.assertEqual(response.status_code, 200)

    def test_invalid_category_name(self):
        """Test to check if category_name follows the one specified by regex"""
        category_registration = self.newCat.category_register(
            "&#*", "*****@*****.**")
        self.assertEqual("category name has special characters",
                         category_registration)

    def test_update_category_regex(self):
        """ Test for category name regex pattern name on update  """
        category_check_regex = self.newCat.category_edit(
            "category_one", "@@@", "mwaz")
        self.assertIn("category name has special characters",
                      category_check_regex)

    def test_update_category_exists(self):
        """ Test for invalid  category name on update  """
        category_exists = self.newCat.category_edit("categoryone", "category",
                                                    "mwaz")
        self.assertEqual("category name exists", category_exists)
示例#33
0
class RecipeTest(unittest.TestCase, Categories):
    """ Class performing unit testing for class Recipe"""
    def setUp(self):
        """Defining setUp() method that runs prior to each test."""
        self.newRecipe = Recipe()
        self.newCategory = Categories()
        self.recipe_register = self.newRecipe.recipe_register(
            "category", "recipe", "*****@*****.**", "recipe_ingredients",
            "recipe_methods")
        self.newCategory.category_register("category_one", "*****@*****.**")
        app.config['TESTING'] = True
        self.test_app = app.test_client()

    def test_recipe_register_route(self):
        """ Test to check if recipe register route works"""
        response = self.test_app.get('/recipe_register')
        self.assertEqual(response.status_code, 200)

    def test_recipe_registration(self):
        """ Test for method create recipe """
        recipe_success_registration = self.newRecipe.recipe_register(
            "category_one", "recipee", "*****@*****.**",
            "recipe_ingredients", "recipe_methods")
        self.assertEqual("successfully created recipe",
                         recipe_success_registration)

    def test_recipe_regex_match(self):
        """ Test for recipe name regex match """
        recipe_name_regex_format = self.newRecipe.recipe_register(
            "category", "@@@", "*****@*****.**", "recipe_ingredients",
            "recipe_methods")
        self.assertEqual("Recipe name has special characters",
                         recipe_name_regex_format)

    def test_recipe_null_name(self):
        """ Test for null recipe name  """
        recipe_null_name = self.newRecipe.recipe_register(
            "category", "", "*****@*****.**", "recipe_ingredients",
            "recipe_methods")
        self.assertEqual("Null recipe name", recipe_null_name)

    def test_recipe_null_ingredients(self):
        """ Test for null recipe ingredients """
        recipe_null_ingredients = self.newRecipe.recipe_register(
            "category", "recipe_name", "*****@*****.**", "",
            "recipe_methods")
        self.assertEqual("Null recipe ingredients", recipe_null_ingredients)

    def test_recipe_null_methods(self):
        """ Test for null recipe preparation methods  """
        recipe_null_methods = self.newRecipe.recipe_register(
            "category", "recipe_name", "*****@*****.**",
            "recipe_ingredients", "")
        self.assertEqual("Null recipe method", recipe_null_methods)

    def test_recipe_exists(self):
        """ Test for method if recipe exists """
        recipe_exists = self.newRecipe.recipe_register("category", "recipe",
                                                       "*****@*****.**",
                                                       "recipe_ingredients",
                                                       "recipe_methods")
        self.assertEqual("Recipe exists", recipe_exists)

    def test_recipe_edit_route(self):
        """ Test to check if recipe edit route works"""
        response = self.test_app.get('/recipe_edit/Panckakes')
        self.assertEqual(response.status_code, 200)

    def test_edit_recipe_regex_format(self):
        """ Test for recipe name regex pattern name on update  """
        edit_recipe_regex = self.newRecipe.recipe_edit("@@@", "recipe_name",
                                                       "category_one", "mwaz",
                                                       "recipe_ingredients",
                                                       "recipe_methods")
        self.assertEqual("Recipe name has special characters",
                         edit_recipe_regex)

    def test_edit_recipe_is_null(self):
        """ Test for null recipe name on update  """
        recipe_edit_is_null = self.newRecipe.recipe_edit(
            "", "categoryone", "recipe_name", "mwaz", "recipe_ingredients",
            "recipe_methods")
        self.assertEqual("Null recipe name", recipe_edit_is_null)

    def succss_recipe_name_edit(self):
        """ Test for successful recipe name on update  """
        recipe_edit_success = self.newRecipe.recipe_edit(
            "new_recipe", "categoryone", "recipe_name", "mwaz",
            "recipe_ingredients", "recipe_methods")
        self.assertEqual("Successfully edited recipe", recipe_edit_success)

    def test_recipe_delete_route(self):
        """ Test to check if recipe delete route works"""
        response = self.test_app.get('/recipe_delete')
        self.assertEqual(response.status_code, 200)
示例#34
0
文件: dbinit.py 项目: XinMa1/work
    def __init__(self):
        db.connect()
        if not Version.table_exists():
           
            tablesName = [
                Version,
                Albums,
                Chatrooms,
                Categories,
                ProductComments,
                ProductFavorites, 
                ProductRankings,
                ProductPayments,
                Products,
                GroupComments,
                GroupFavorites, 
                GroupRankings,
                GroupPayments,
                Groups,
                Images,
                Roles,
                Transactions,
                Users,   
                Articles,
                Answners,
                Questions, 
            ]
        
            for i in tablesName:
                i.create_table()


        self.version=Version.get_or_create(description=open('VERSION').read())
        self.admin_role = Roles.get_or_create(type=1,  description='系统管理员')
        self.assistant_role = Roles.get_or_create(type=10, description='班级管理员')
        self.student_role = Roles.get_or_create(type=100,  description='注册学员')
        self.default_thumbnail = base64.b64encode(buffer(imaging.default_thumbnail()))
  
 
        self.sys_categories = Categories.get_or_create(
                            name = '系统预置分类',
                            description = '预置的初始父类!',
                            thumbnail = self.default_thumbnail,
                         )


        self.admin = Users.get_or_create(
                            name = 'admin',
                            cellphone = '13912345678',
                            email = '*****@*****.**',
                            password = '******',
                            gender = 0,
                            role = self.admin_role,
                            description = '预置的系统管理员!',
                            avatur = self.default_thumbnail
                     )

        self.sys_album = Albums.get_or_create(
                            name = '系统专辑',
                            description = '预置的系统专辑!',
                            thumbnail = self.default_thumbnail,
                            owner = self.admin
                         )

        self.sys_image = Images.get_or_create(
                            description = '预置的系统图片!',
                            thumbnail = self.default_thumbnail,
                            owner = self.admin,
                            album = self.sys_album,
                            uuid = 'default'
                         )