/// <summary> /// SignIn TopupInteface /// ChungNN 03/2009 /// </summary> /// <returns>token</returns> private string SignIn() { string blnRetvalue = ""; try { SignInResult sginObj = srvObj.GetToken(AppConfiguration.TopupInterfaceUserName, AppConfiguration.TopupInterfacePassword); if (sginObj.ErrorCode != 0) { sginObj = srvObj.SignIn(AppConfiguration.TopupInterfaceUserName, AppConfiguration.TopupInterfacePassword); if (sginObj.ErrorCode == 0) { blnRetvalue = sginObj.Token; } } else { blnRetvalue = sginObj.Token; } } catch (Exception ex) { throw (ex); } if (blnRetvalue.Length > 0) { ServiceSessionManager.GetSessionInstance().AddSession(blnRetvalue, "TopupInterfaceToken"); } return(blnRetvalue); }
public void CreateSessionValidValue() { var loggerMock = new Mock <ILogger <ServiceSessionManager> >(); var sessionRepoMock = new Mock <IServiceSessionRepository>(MockBehavior.Strict); var mapperMock = new Mock <IMapper>(MockBehavior.Strict); var sessionManager = new ServiceSessionManager(loggerMock.Object, sessionRepoMock.Object, mapperMock.Object); var serviceId = "service_id_test"; sessionRepoMock .Setup(r => r.Insert(It.Is <ServiceSession>(s => s.RegisteredServiceId == serviceId))) .Verifiable(); sessionRepoMock .Setup(r => r.GetAllInRegisteredService(It.Is <string>(s => s == serviceId), false)) .Returns(Enumerable.Empty <ServiceSession>) .Verifiable(); mapperMock .Setup(m => m.Map <ServiceSession, ServiceSessionDTO>(It.Is <ServiceSession>(s => s.RegisteredServiceId == serviceId))) .Returns(new ServiceSessionDTO { RegisteredServiceId = serviceId }) .Verifiable(); var result = sessionManager.CreateSession(serviceId); Assert.Equal(serviceId, result.RegisteredServiceId); sessionRepoMock.Verify(); mapperMock.Verify(); }
public void PingSessionSuccess() { var loggerMock = new Mock <ILogger <ServiceSessionManager> >(); var sessionRepoMock = new Mock <IServiceSessionRepository>(MockBehavior.Strict); var mapperMock = new Mock <IMapper>(MockBehavior.Strict); var sessionManager = new ServiceSessionManager(loggerMock.Object, sessionRepoMock.Object, mapperMock.Object); var sessionId = Guid.NewGuid(); var registeredServiceId = "teste_service"; var serviceSession = new ServiceSession() { Id = sessionId, LastPing = null, RegisteredServiceId = registeredServiceId }; sessionRepoMock .Setup(r => r.GetById(sessionId)) .Returns(serviceSession) .Verifiable(); sessionRepoMock .Setup(r => r.Update(It.Is <ServiceSession>(s => s.Id == sessionId && s.RegisteredServiceId == registeredServiceId && s.LastPing != null))) .Returns(true) .Verifiable(); sessionManager.PingSession(sessionId); sessionRepoMock.Verify(); mapperMock.Verify(); }
public void GetSessionExistingId() { var loggerMock = new Mock <ILogger <ServiceSessionManager> >(); var sessionRepoMock = new Mock <IServiceSessionRepository>(MockBehavior.Strict); var mapperMock = new Mock <IMapper>(MockBehavior.Strict); var sessionManager = new ServiceSessionManager(loggerMock.Object, sessionRepoMock.Object, mapperMock.Object); var manifest = "test_manifest"; var dateAndTime = DateTime.UtcNow; var manifestSnapshot = new ManifestSnapshot { Manifest = manifest, DateAndTime = dateAndTime }; var sessionId = Guid.NewGuid(); var serviceSession = new ServiceSession() { Id = sessionId, ManifestSnapshots = new List <ManifestSnapshot> { manifestSnapshot } }; sessionRepoMock .Setup(r => r.GetById(sessionId)) .Returns(serviceSession) .Verifiable(); mapperMock .Setup(m => m.Map <ServiceSession, ServiceSessionDTO>(It.Is <ServiceSession>(s => s == serviceSession))) .Returns(new ServiceSessionDTO { Id = sessionId.ToString() }).Verifiable(); mapperMock .Setup(m => m.Map <ManifestSnapshot, ManifestSnapshotDTO>(It.Is <ManifestSnapshot>(s => s == manifestSnapshot))) .Returns(new ManifestSnapshotDTO { Manifest = manifest, DateAndTime = dateAndTime }).Verifiable(); var result = sessionManager.GetById(sessionId); Assert.Equal(serviceSession.Id.ToString(), result.Id); Assert.Equal(manifestSnapshot.Manifest, result.LastManifestSnapshot.Manifest); Assert.Equal(manifestSnapshot.DateAndTime, result.LastManifestSnapshot.DateAndTime); sessionRepoMock.Verify(); mapperMock.Verify(); }
/// <summary> /// POS download softpin in template /// ChungNN 03/2009 /// </summary> /// <param name="Pos_ID"></param> /// <param name="Merchant_ID"></param> /// <param name="RequestID"></param> /// <param name="SoftpinStock"></param> /// <returns></returns> public BatchBuyObject PosDownloadSoftpinTemplate(int Pos_ID, int Merchant_ID, string RequestID, object[] SoftpinStock) { BatchBuyObject buyObj = new BatchBuyObject(); string strTopupInterfaceToken = ServiceSessionManager.GetSessionInstance().GetSession("TopupInterfaceToken"); buyObj = srvObj.PosDownloadSoftpinTemplate(Pos_ID, Merchant_ID, RequestID, SoftpinStock, strTopupInterfaceToken); Thread.Sleep(AppConfiguration.TopupInterface_TimeOut); return(buyObj); //transObj.WriteLog("PosDownloadSingleSoftpin, Errorcode = " + buyObj.ErrorCode.ToString()); }
/// <summary> /// POS download some softpins /// ChungNN 03/2009 /// </summary> /// <param name="Pos_ID"></param> /// <param name="Merchant_ID"></param> /// <param name="RequestID"></param> /// <param name="CategoryName"></param> /// <param name="ServiceProviderName"></param> /// <param name="ProductValue"></param> /// <param name="StockQuantity"></param> /// <param name="DownloadQuantity"></param> /// <returns></returns> public BatchBuyObject PosDownloadSingleSoftpin(int Pos_ID, int Merchant_ID, string RequestID, string CategoryName, string ServiceProviderName, int ProductValue, int StockQuantity, int DownloadQuantity) { BatchBuyObject buyObj = new BatchBuyObject(); string strTopupInterfaceToken = ServiceSessionManager.GetSessionInstance().GetSession("TopupInterfaceToken"); //string RequestID = Guid.NewGuid().ToString().Substring(0, 19); buyObj = srvObj.PosDownloadSingleSoftpin(Pos_ID, Merchant_ID, RequestID, CategoryName, ServiceProviderName, ProductValue, StockQuantity, DownloadQuantity, strTopupInterfaceToken); Thread.Sleep(AppConfiguration.TopupInterface_TimeOut); //buyObj = srvObj.PosDownloadSingleSoftpin(Pos_ID, Merchant_ID, RequestID, CategoryName, ServiceProviderName, ProductValue, StockQuantity, strTopupInterfaceToken); return(buyObj); //transObj.WriteLog("PosDownloadSingleSoftpin, Errorcode = " + buyObj.ErrorCode.ToString()); }
public void AddManifestSnapshotValidValues() { var loggerMock = new Mock <ILogger <ServiceSessionManager> >(); var sessionRepoMock = new Mock <IServiceSessionRepository>(MockBehavior.Strict); var mapperMock = new Mock <IMapper>(MockBehavior.Strict); var sessionManager = new ServiceSessionManager(loggerMock.Object, sessionRepoMock.Object, mapperMock.Object); var manifest = "teste_manifest"; var sessionId = Guid.NewGuid(); var registeredServiceId = "teste_service"; var session = new ServiceSession { Id = sessionId, RegisteredServiceId = registeredServiceId }; sessionRepoMock .Setup(r => r.GetById(It.Is <Guid>(g => g == sessionId))) .Returns(new ServiceSession() { Id = sessionId, RegisteredServiceId = registeredServiceId }).Verifiable(); sessionRepoMock .Setup(r => r.Update(It.Is <ServiceSession>(s => s.ManifestSnapshots[0].Manifest == manifest && s.Id == sessionId && s.RegisteredServiceId == registeredServiceId) )).Returns(true) .Verifiable(); mapperMock .Setup(m => m.Map <ManifestSnapshot, ManifestSnapshotDTO>(It.Is <ManifestSnapshot>(s => s.Manifest == manifest ))).Returns(new ManifestSnapshotDTO { Manifest = manifest }).Verifiable(); var result = sessionManager.AddManifestSnapshot(sessionId, manifest); Assert.Equal(manifest, result.Manifest); sessionRepoMock.Verify(); mapperMock.Verify(); }
public void AddManifestSnapshotNonExistent() { var loggerMock = new Mock <ILogger <ServiceSessionManager> >(); var sessionRepoMock = new Mock <IServiceSessionRepository>(MockBehavior.Strict); var mapperMock = new Mock <IMapper>(MockBehavior.Strict); var sessionManager = new ServiceSessionManager(loggerMock.Object, sessionRepoMock.Object, mapperMock.Object); var sessionId = Guid.NewGuid(); var manifest = "test_manifest"; sessionRepoMock .Setup(r => r.GetById(It.Is <Guid>(g => g == sessionId))) .Returns <ServiceSession>(null) .Verifiable(); Assert.Throws <EntityNotFoundException>(() => sessionManager.AddManifestSnapshot(sessionId, manifest)); sessionRepoMock.Verify(); }
public void GetSessionNonExistingId() { var loggerMock = new Mock <ILogger <ServiceSessionManager> >(); var sessionRepoMock = new Mock <IServiceSessionRepository>(MockBehavior.Strict); var mapperMock = new Mock <IMapper>(MockBehavior.Strict); var sessionManager = new ServiceSessionManager(loggerMock.Object, sessionRepoMock.Object, mapperMock.Object); var sessionId = Guid.NewGuid(); sessionRepoMock .Setup(r => r.GetById(sessionId)) .Returns <ServiceSession>(null) .Verifiable(); var result = sessionManager.GetById(sessionId); Assert.Null(result); sessionRepoMock.Verify(); mapperMock.Verify(); }
public void PingSessionNonexistant() { var loggerMock = new Mock <ILogger <ServiceSessionManager> >(); var sessionRepoMock = new Mock <IServiceSessionRepository>(MockBehavior.Strict); var mapperMock = new Mock <IMapper>(MockBehavior.Strict); var sessionManager = new ServiceSessionManager(loggerMock.Object, sessionRepoMock.Object, mapperMock.Object); var sessionId = Guid.NewGuid(); sessionRepoMock .Setup(r => r.GetById(sessionId)) .Returns <ServiceSession>(null) .Verifiable(); var thrownException = Assert.Throws <EntityNotFoundException>(() => { sessionManager.PingSession(sessionId); }); sessionRepoMock.Verify(); }
/// <summary> /// POS Logout gateway /// ChungNN 03/2009 /// </summary> /// <param name="Pos_ID"></param> /// <param name="Request"></param> /// <returns></returns> public bool PosLogout(int Pos_ID, string Request) { bool blnRetValue = false; try { if (!ServiceSessionManager.GetSessionInstance().IsExistedSession(Pos_ID.ToString(), Request)) { ServiceSessionManager.GetSessionInstance().DelSession(Pos_ID.ToString()); blnRetValue = true; } else { blnRetValue = false; } } catch //(Exception ex) { blnRetValue = false; } return(blnRetValue); }
public void PingSessionUpdateFailure() { var loggerMock = new Mock <ILogger <ServiceSessionManager> >(); var sessionRepoMock = new Mock <IServiceSessionRepository>(MockBehavior.Strict); var mapperMock = new Mock <IMapper>(MockBehavior.Strict); var sessionManager = new ServiceSessionManager(loggerMock.Object, sessionRepoMock.Object, mapperMock.Object); var sessionId = Guid.NewGuid(); var registeredServiceId = "teste_service"; var serviceSession = new ServiceSession() { Id = sessionId, LastPing = null, RegisteredServiceId = registeredServiceId }; sessionRepoMock .Setup(r => r.GetById(sessionId)) .Returns(serviceSession) .Verifiable(); sessionRepoMock .Setup(r => r.Update(serviceSession)) .Returns(false) .Verifiable(); var thrownException = Assert.Throws <RepositoryEntityOperationFailedException>(() => { sessionManager.PingSession(sessionId); }); Assert.IsType <ServiceSession>(thrownException.Entity); Assert.Equal(serviceSession, thrownException.Entity); sessionRepoMock.Verify(); mapperMock.Verify(); }
/// <summary> /// POS Logon gateway /// ChungNN 03/2009 /// </summary> /// <param name="Pos_ID"></param> /// <param name="Request"></param> /// <param name="PosAdminPassword"></param> /// <returns></returns> public bool PosLogon(int Pos_ID, ref string Request, string PosAdminPassword) { bool blnRetvalue = false; string strTopupInterfaceToken = string.Empty; try { //get TopupInterface token if (ServiceSessionManager.GetSessionInstance().IsExistedSession("TopupInterfaceToken")) { strTopupInterfaceToken = ServiceSessionManager.GetSessionInstance().GetSession("TopupInterfaceToken"); } else { //new Thread(new ThreadStart(SignIn)).Start(); strTopupInterfaceToken = SignIn(); } } catch (Exception ex) { throw (ex); } //Logon as POS int nCounter = 2; while (nCounter > 0) { try { ErrorResult ErrObj = srvObj.PosLogon(Pos_ID, PosAdminPassword, strTopupInterfaceToken); if (ErrObj.ErrorCode == 0) { //Save POS_ID session to server if (!ServiceSessionManager.GetSessionInstance().IsExistedSession(Pos_ID.ToString())) { ServiceSessionManager.GetSessionInstance().AddSession(Request, Pos_ID.ToString()); } else { Request = ServiceSessionManager.GetSessionInstance().GetSession(Pos_ID.ToString()); } nCounter = 0; blnRetvalue = true; break; } //token is not existed on TopupInerface ->invok SignIn() again else //if (ErrObj.ErrorCode == -1) { strTopupInterfaceToken = SignIn(); nCounter--; } } catch (Exception ex) { throw (ex); } } return(blnRetvalue); }