3.0.0.3 Control Repository Schema & Logs.

This commit is contained in:
Andy Howard
2025-02-10 18:25:40 +00:00
parent 75185ed302
commit a7bec4e806
36 changed files with 1272 additions and 94 deletions
@@ -28,7 +28,7 @@ namespace Sarand.BusinessMgr.Test.Web.Portal.App
{
// Session configuration.
string repositoryContext = "Mimo";
SbmSessionContext sessionContext = CreateCoreInstanceConsole(repositoryContext);
SbmSessionContext sessionContext = GetCoreSessionContext(repositoryContext);
Assert.IsNotNull(sessionContext);
SbmInternals internals = new SbmInternals(GetSessionData(sessionContext, repositoryContext));
disposables.Add(internals);
@@ -55,7 +55,7 @@ namespace Sarand.BusinessMgr.Test.Web.Portal.App
{
// Session configuration.
string repositoryContext = "Mimo";
SbmSessionContext sessionContext = CreateCoreInstanceConsole(repositoryContext);
SbmSessionContext sessionContext = GetCoreSessionContext(repositoryContext);
Assert.IsNotNull(sessionContext);
SbmInternals internals = new SbmInternals(GetSessionData(sessionContext, repositoryContext));
disposables.Add(internals);
@@ -0,0 +1,78 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json;
using Sarand.BusinessMgr.Net.Core.Web.Components;
using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Bus.Control;
using Sarand.BusinessMgr.Net.Standard.Base.Mgr.Control;
using Sarand.BusinessMgr.Web.Portal.App;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Base.Security;
using Sarand.Net.Standard.Dbas.Base;
namespace Sarand.BusinessMgr.Test.Web.Portal.App
{
//=======================================================================
[TestClass]
public class SbmApplication_DemoRepository_Tester : SbmApplication_Tester_Base
{
//-------------------------------------------------------------------
[TestMethod]
public void Test_SessionData_Demo()
{
// Record disposable items as they are created so all can be disposed when needed.
using (DisposableCollection<SacsDisposable> disposables = new DisposableCollection<SacsDisposable>())
{
// Demo Session configuration.
string repositoryContext = Sbm.RepositoryContext_Demo;
SbmSessionContext sessionContext = GetCoreSessionContext(repositoryContext);
Assert.IsNotNull(sessionContext);
// Session data.
SbmSessionData_Portal sessionData = new SbmSessionData_Portal(sessionContext, repositoryContext, null, null, null, null);
Assert.IsNotNull(sessionData);
Assert.IsTrue(sessionData.SessionContext.IsDemoRepository());
// Serialise data.
string sessionDataJson = JsonConvert.SerializeObject(sessionData, SbmController_Web.SessionDataJsonSerializerSettings);
Assert.IsNotNull(sessionDataJson);
// Deserialise data.
SbmSessionData_Portal sessionDataDeserialized = JsonConvert.DeserializeObject<SbmSessionData_Portal>(sessionDataJson, SbmController_Web.SessionDataJsonDeserializerSettings);
Assert.IsNotNull(sessionDataDeserialized);
Assert.IsTrue(sessionDataDeserialized.SessionContext.IsDemoRepository());
}
}
//-------------------------------------------------------------------
[TestMethod]
public void Test_SessionData_NonDemo()
{
// Record disposable items as they are created so all can be disposed when needed.
using (DisposableCollection<SacsDisposable> disposables = new DisposableCollection<SacsDisposable>())
{
// Non-Demo Session configuration.
string repositoryContext = "Mimo";
SbmSessionContext sessionContext = GetCoreSessionContext(repositoryContext);
Assert.IsNotNull(sessionContext);
// Session data.
SbmSessionData_Portal sessionData = new SbmSessionData_Portal(sessionContext, repositoryContext, null, null, null, null);
Assert.IsNotNull(sessionData);
Assert.IsFalse(sessionData.SessionContext.IsDemoRepository());
// Serialise data.
string sessionDataJson = JsonConvert.SerializeObject(sessionData, SbmController_Web.SessionDataJsonSerializerSettings);
Assert.IsNotNull(sessionDataJson);
// Deserialise data.
SbmSessionData_Portal sessionDataDeserialized = JsonConvert.DeserializeObject<SbmSessionData_Portal>(sessionDataJson, SbmController_Web.SessionDataJsonDeserializerSettings);
Assert.IsNotNull(sessionDataDeserialized);
Assert.IsFalse(sessionDataDeserialized.SessionContext.IsDemoRepository());
}
}
//-------------------------------------------------------------------
}
//=======================================================================
}
@@ -39,12 +39,16 @@ namespace Sarand.BusinessMgr.Test.Web.Portal.App
{
// Session configuration.
string repositoryContext = "Mimo";
SbmSessionContext sessionContext = CreateCoreInstanceConsole(repositoryContext);
SbmSessionContext sessionContext = GetCoreSessionContext(repositoryContext);
Assert.IsNotNull(sessionContext);
ISacsDatabase busMgrDatabase = AppPortal.GetBusMgrDatabase(sessionContext);
// Session data.
SbmSessionData_Portal sessionData = new SbmSessionData_Portal(sessionContext, repositoryContext, null, null, null, null);
Assert.IsNotNull(sessionData);
// Internals.
SbmInternals internals = new SbmInternals(GetSessionData(sessionContext, repositoryContext));
SbmInternals internals = new SbmInternals(sessionData);
disposables.Add(internals);
SaSecurityConsole securityConsole = internals.SecurityConsole;
Assert.IsNotNull(securityConsole);
@@ -76,9 +80,8 @@ namespace Sarand.BusinessMgr.Test.Web.Portal.App
Assert.IsNotNull(affiliateOrganisation);
// Populate User Session.
SbmSessionData_Portal sessionData = new SbmSessionData_Portal(sessionContext, repositoryContext, securityItemUser, affiliateUser, associationOrganisation, affiliateOrganisation);
Assert.IsNotNull(sessionData);
// Populate Session data.
sessionData.Refresh(securityItemUser, affiliateUser, associationOrganisation, affiliateOrganisation);
// Validate user session.
Assert.IsNotNull(sessionData.User);
@@ -167,7 +170,7 @@ namespace Sarand.BusinessMgr.Test.Web.Portal.App
// Session configuration.
string repositoryContext = "Mimo";
SbmSessionContext sessionContext = CreateCoreInstanceConsole(repositoryContext);
SbmSessionContext sessionContext = GetCoreSessionContext(repositoryContext);
Assert.IsNotNull(sessionContext);
ISacsDatabase busMgrDatabase = AppPortal.GetBusMgrDatabase(sessionContext);
@@ -70,7 +70,7 @@ namespace Sarand.BusinessMgr.Test.Web.Portal.App
//-------------------------------------------------------------------
// Session Context.
protected SbmSessionContext CreateCoreInstanceConsole(String instanceContext)
protected SbmSessionContext GetCoreSessionContext(String instanceContext)
{
return AppPortal.GetControlSessionContextByRepositoryContext(instanceContext);
}