コード例 #1
0
ファイル: req_10.cs プロジェクト: hadasat/Web-Store-
        private void closStoreByOwnerLiveNotification()
        {
            try
            {
                myInit();

                //store owener initialize
                bool subscribe = storeOwnerUser.subscribeAsObserver(ownerObserver);
                Assert.IsTrue(subscribe, "can't subscribe");
                //make sure no messages received on conncet
                bool noMessages = ownerObserver.msg.Count == 0;
                Assert.IsTrue(noMessages, "have messages on recieve");

                //admin initilize
                //admin test
                bool adminSubscribe = adminUserL.subscribeAsObserver(adminObserver);
                Assert.IsTrue(adminSubscribe, "can't subscribe admin");
                bool noMessagesAdmin = ownerObserver.msg.Count == 0;
                Assert.IsTrue(noMessagesAdmin, "have messages on subscribe for admin");

                //close store
                bool closeAns = storeOwnerUser.closeStore(storeId);
                Assert.IsTrue(closeAns, "can't close store");

                //check observers
                bool hasMessages = ownerObserver.msg.Count == 1;
                Assert.IsTrue(hasMessages, "didn't recieve message on close");
                bool adminMsg = adminObserver.msg.Count != 0;
                Assert.IsTrue(adminMsg, "admin didn't reveive any messages");
            }
            finally
            {
                myCleanUp();
            }
        }
コード例 #2
0
ファイル: req_10.cs プロジェクト: hadasat/Web-Store-
        private void closeStoreByAdminLiveNotification()
        {
            testObserverAcceptence managerObserver = null;
            LoginProxy             manager         = null;

            try
            {
                myInit();

                bool subscribe1 = storeOwnerUser.subscribeAsObserver(ownerObserver);
                Assert.IsTrue(subscribe1, "can't subscribe");
                //add manager
                addTestStoreManager1ToSystem();
                manager = new LoginProxy();
                //sign in and subscribe observer
                bool login = manager.login(getStoreManager1(), password) == LoginProxy.successMsg;
                Assert.IsTrue(login, "can't login manager");
                managerObserver = new testObserverAcceptence();
                bool subscribe2 = storeOwnerUser.subscribeAsObserver(managerObserver);
                Assert.IsTrue(subscribe2, "can't subscribe manger as observer");
                //close store as admin
                LoginProxy admin      = new LoginProxy();
                bool       adminLogin = admin.login("Admin", "Admin") == LoginProxy.successMsg;
                Assert.IsTrue(adminLogin, "can't login Admin");
                admin.closeStore(storeId); //TODO fix fails because admin can't close sotres

                bool hasMessages1 = ownerObserver.msg.Count == 1;
                Assert.IsTrue(hasMessages1, "owner didn't recieve message on close");

                bool hasMessages2 = managerObserver.msg.Count == 1;
                Assert.IsTrue(hasMessages2, "admin didn't recieve message on close");
            }
            finally
            {
                if (managerObserver != null & manager != null)
                {
                    manager.unSubscribeAsObserver(managerObserver);
                }
                myCleanUp();
            }
        }
コード例 #3
0
        private void closeStoreHandler(JObject msgObj, string message)
        {
            JsonResponse response;
            int          requestId = (int)msgObj["id"];
            int          storeId   = (int)msgObj["data"];

            try
            {
                response = user.closeStore(storeId) ?
                           JsonResponse.generateActionSucces(requestId) : JsonResponse.generateActionError(requestId, "failed to close store");
            }
            catch (WorkShopDbException dbExc)
            {
                response = JsonResponse.generateActionError(requestId, "DB is down please try again in few minutes\n" + dbExc.Message);
            }
            catch (Exception e)
            {
                response = JsonResponse.generateActionError(requestId, e.Message);
            }

            sendMyselfAMessage(JsonHandler.SerializeObject(response));
        }