def __init__(self, search_info: str, page: int, book_id: list): db_conn.DBConn.__init__(self) # 创建类 BookDB self.book_db = book.BookDB(conf.Use_Large_DB) self.search_info = search_info self.page = page self.book_id = book_id
def pre_run_initialization(self): self.auth = auth.Auth(conf.URL) # 注册一个用户进行搜索 self.user_id = "test_global_search_content_store_id_1_{}".format( time.time()) self.password = "******" + self.user_id self.terminal = "terminal_" + self.user_id assert self.auth.register(self.user_id, self.password) == 200 # 注册一个店铺,对其进行增加库存,进行被搜索 self.another_user_id = "test_global_search_content_store_id_2_{}".format( time.time()) self.seller = register_new_seller(self.another_user_id, self.password) self.store_id = "test_global_search_content_store_id_{}".format( str(uuid.uuid1())) assert self.seller.create_store(self.store_id) == 200 # 对其增加库存(80本书) book_db = book.BookDB() self.books = book_db.get_book_info(0, 100) for b in self.books: code = self.seller.add_book(self.store_id, 0, b) assert code == 200 # 搜索的标题内容 self.search_info = "一个 女生的自白 \n" # 搜索的页数 self.page = 1 self.large_page = 20 yield
def __init__(self): self.uuid = str(uuid.uuid1()) self.book_ids = [] self.buyer_ids = [] self.store_ids = [] self.book_db = book.BookDB(conf.Use_Large_DB) self.row_count = self.book_db.get_book_count() self.book_num_per_store = conf.Book_Num_Per_Store if self.row_count < self.book_num_per_store: self.book_num_per_store = self.row_count self.store_num_per_user = conf.Store_Num_Per_User self.seller_num = conf.Seller_Num self.buyer_num = conf.Buyer_Num self.session = conf.Session self.stock_level = conf.Default_Stock_Level self.user_funds = conf.Default_User_Funds self.batch_size = conf.Data_Batch_Size self.procedure_per_session = conf.Request_Per_Session self.n_new_order = 0 self.n_payment = 0 self.n_new_order_ok = 0 self.n_payment_ok = 0 self.time_new_order = 0 self.time_payment = 0 self.lock = threading.Lock()
def pre_run_initialization(self): self.user_id = "test_search_user_id_".format(str(uuid.uuid1())) self.password = "******".format(str(uuid.uuid1())) self.store_id = "test_search_store_id_".format(str(uuid.uuid1())) self.search = search.Search(conf.URL) self.auth = auth.Auth(conf.URL) code = self.auth.register(self.user_id, self.password) assert code == 200 self.seller = seller.Seller(conf.URL, self.user_id, self.password) code = self.seller.create_store(self.store_id) assert code == 200 book_db = b.BookDB() books = book_db.get_book_info(0, 5) self.search_info = { 'title': [], 'tags': [], 'contents': [], 'authors_or_translators': [], 'publishers': [] } for book in books: self.search_info['title'].append(book.title) self.search_info['tags'].append(book.title) self.seller.add_book(self.store_id, 0, book) yield
def pre_run_initialization(self): # do before test self.seller_id1 = "test_add_books_seller_id_{}".format( str(uuid.uuid1())) self.store_id1 = "test_add_books_store_id_{}".format(str(uuid.uuid1())) self.password = self.seller_id1 self.seller1 = register_new_seller(self.seller_id1, self.password) code = self.seller1.create_store(self.store_id1) assert code == 200 book_db = book.BookDB() self.books1 = book_db.get_book_info(0, 10) self.seller_id2 = "test_add_books_seller_id_{}".format( str(uuid.uuid1())) self.store_id2 = "test_add_books_store_id_{}".format(str(uuid.uuid1())) self.password = self.seller_id2 self.seller2 = register_new_seller(self.seller_id2, self.password) code = self.seller2.create_store(self.store_id2) assert code == 200 book_db = book.BookDB() self.books2 = book_db.get_book_info(10, 5) self.seller_id3 = "test_add_books_seller_id_{}".format( str(uuid.uuid1())) self.store_id3 = "test_add_books_store_id_{}".format(str(uuid.uuid1())) self.password = self.seller_id3 self.seller3 = register_new_seller(self.seller_id3, self.password) code = self.seller3.create_store(self.store_id3) assert code == 200 book_db = book.BookDB() self.books3 = book_db.get_book_info(99, 7) for b in self.books1: code = self.seller1.add_book(self.store_id1, 0, b) assert code == 200 for b in self.books2: code = self.seller2.add_book(self.store_id2, 0, b) assert code == 200 for b in self.books3: code = self.seller3.add_book(self.store_id3, 0, b) assert code == 200 yield
def __init__(self, global_store: bool = True, store_id: str = "ok"): # 创建实例init_database store.init_database() db_conn.DBConn.__init__(self) # 创建类 BookDB self.book_db = book.BookDB(conf.Use_Large_DB) # 创建类 Book self.book = book.Book() # 判断是否进行全局搜索 self.global_store = global_store # 若进行全局搜索,store_id设置为 -1 self.store_id = store_id
def pre_run_initialization(self): # do before test self.seller_id = "test_add_books_seller_id_{}".format(str(uuid.uuid1())) self.store_id = "test_add_books_store_id_{}".format(str(uuid.uuid1())) self.password = self.seller_id self.seller = register_new_seller(self.seller_id, self.password) code = self.seller.create_store(self.store_id) assert code == 200 book_db = book.BookDB() self.books = book_db.get_book_info(0, 2) yield
def pre_run_initialization(self): self.user_id = "test_add_book_stock_level1_user_{}".format( str(uuid.uuid1())) self.store_id = "test_add_book_stock_level1_store_{}".format( str(uuid.uuid1())) self.password = self.user_id self.seller = register_new_seller(self.user_id, self.password) code = self.seller.create_store(self.store_id) assert code == 200 book_db = book.BookDB() self.books = book_db.get_book_info(0, 5) for bk in self.books: code = self.seller.add_book(self.store_id, 0, bk) assert code == 200 yield
def gen(self, non_exist_book_id: bool, low_stock_level, max_book_count: int = 100) -> (bool, []): # 随机选择一些图书将他们上架 self.__init_book_list__() ok = True book_db = book.BookDB() rows = book_db.get_book_count() start = 0 if rows > max_book_count: start = random.randint(0, rows - max_book_count) size = random.randint(1, max_book_count) books = book_db.get_book_info(start, size) book_id_exist = [] book_id_stock_level = {} for bk in books: if low_stock_level: stock_level = random.randint(0, 100) code = self.seller.add_book(self.store_id, stock_level, bk) else: stock_level = random.randint(2, 100) code = self.seller.add_book(self.store_id, 4 * stock_level, bk) assert code == 200 book_id_stock_level[bk.id] = stock_level book_id_exist.append(bk) # 为每个上架的图书生成一个随机购买数量,用于测试 for bk in book_id_exist: stock_level = book_id_stock_level[bk.id] if stock_level > 1: buy_num = random.randint(1, stock_level) else: buy_num = 0 # add a new pair if non_exist_book_id: bk.id = bk.id + "_x" if low_stock_level: buy_num = stock_level + 1 self.buy_book_info_list.append((bk, buy_num)) for item in self.buy_book_info_list: self.buy_book_id_list.append((item[0].id, item[1])) return ok, self.buy_book_id_list
def gen(self, non_exist_book_id: bool, low_stock_level, max_book_count: int = 5) -> (bool, []): self.__init_book_list__() ok = True book_db = book.BookDB() rows = book_db.get_book_count() start = 0 if rows > max_book_count: start = random.randint(0, rows - max_book_count) size = random.randint(1, max_book_count) books_id = book_db.get_book_id(start, size) book_id_exist = [] book_id_stock_level = {} book_id_price = {} for bk in books_id: price = random.randint(0, 100) if low_stock_level: stock_level = random.randint(0, 100) else: stock_level = random.randint(2, 100) code = self.seller.add_book(self.store_id, stock_level, bk, price) assert code == 200 book_id_stock_level[bk] = stock_level book_id_price[bk] = price book_id_exist.append(bk) for bk in book_id_exist: stock_level = book_id_stock_level[bk] if stock_level > 1: buy_num = random.randint(1, stock_level) else: buy_num = 0 # add a new pair if non_exist_book_id: bk = bk + "_x" book_id_price[bk] = price if low_stock_level: buy_num = stock_level + 1 self.buy_book_info_list.append((bk, buy_num, book_id_price[bk])) for item in self.buy_book_info_list: self.buy_book_id_list.append((item[0], item[1], item[2])) return ok, self.buy_book_id_list
def pre_run_initialization(self): self.query = '感人' self.title = '美丽心灵' self.tag = '漫画' self.author = '张乐平' self.seller_id = "test_add_book_stock_level1_user_{}".format( str(uuid.uuid1())) self.store_id = "test_add_book_stock_level1_store_{}".format( str(uuid.uuid1())) self.password = self.seller_id self.seller = register_new_seller(self.seller_id, self.password) self.buyer_id = "test_new_order_buyer_id_{}".format(str(uuid.uuid1())) self.buyer = register_new_buyer(self.buyer_id, self.password) code = self.seller.create_store(self.store_id) assert code == 200 book_db = book.BookDB() self.books = book_db.get_book_id(0, 2) for bk in self.books: code = self.seller.add_book(self.store_id, 0, bk, 20) assert code == 200 yield
def pre_run_initialization(self): self.seller_id = "test_get_comment_by_book_id_seller_id_{}".format( str(uuid.uuid1())) self.store_id = "test_get_comment_by_book_id_store_id_{}".format( str(uuid.uuid1())) self.seller_password = self.seller_id self.seller = register_new_seller(self.seller_id, self.seller_password) self.seller.create_store(self.store_id) book_db = book.BookDB() self.books = book_db.get_book_info(0, 5) self.book_id_list = [] self.book_info_list = [] for bk in self.books: code = self.seller.add_book(self.store_id, 0, bk) assert code == 200 code = self.seller.add_stock_level(self.seller_id, self.store_id, bk.id, 100000) assert code == 200 num = random.randint(1, 100) self.book_id_list.append((bk.id, num)) self.book_info_list.append((bk, num)) for i in range(10): self.buyer_id = "test_change_status_to_unreceived_buyer_id_{}".format( str(uuid.uuid1())) self.buyer_password = self.buyer_id self.buyer = register_new_buyer(self.buyer_id, self.buyer_password) # 生成订单 code, self.order_id = self.buyer.new_order(self.store_id, self.book_id_list) assert code == 200 self.total_price = 0 for item in self.book_info_list: bk: Book = item[0] num = item[1] self.total_price = self.total_price + bk.price * num code = self.buyer.add_funds(self.total_price) assert code == 200 code = self.buyer.payment(self.order_id) assert code == 200 code = change_unreceived(self.seller_id, self.seller_password, self.store_id, self.order_id) assert code == 200 code = change_received(self.buyer_id, self.buyer_password, self.order_id) assert code == 200 code, self.orderdetails = track_order_by_order_id( self.buyer_id, self.buyer_password, self.order_id) assert code == 200 for orderdeatail in self.orderdetails: orderdetail_id = orderdeatail['orderdetail_id'] self.star = random.randint(1, 5) self.content = "" for j in range(random.randint(2, 5)): self.content += chr(random.randint(0x4e00, 0x9fbf)) code = add_comment(self.buyer_id, self.buyer_password, orderdetail_id, self.star, self.content) assert code == 200