public void CheckIfControllerThisObjectAccessible() { var fakefs = new InMemoryFileProvider(); fakefs.AddFile("controllers/test.os", "Процедура Б() А = ЭтотОбъект; КонецПроцедуры"); fakefs.AddFile("main.os", ""); var appEngine = new WebApplicationEngine(); var app = ApplicationInstance.Create(new FileInfoCodeSource(fakefs.GetFileInfo("main.os")), appEngine); var provider = new OscriptApplicationModelProvider(app, appEngine, fakefs, Mock.Of <IAuthorizationPolicyProvider>()); var context = new ApplicationModelProviderContext(new TypeInfo[0]); provider.OnProvidersExecuting(context); var cc = new ControllerContext(); var ad = new ControllerActionDescriptor(); ad.Properties["type"] = context.Result.Controllers[0].Properties["type"]; ad.Properties["CompilationInfo"] = context.Result.Controllers[0].Properties["CompilationInfo"]; cc.ActionDescriptor = ad; cc.HttpContext = new DefaultHttpContext(); cc.HttpContext.Session = null; var activator = new ScriptedControllerActivator(appEngine); var controller = (ScriptedController)activator.Create(cc); Assert.Equal(controller, controller.GetPropValue(0)); }
public void CheckIfControllerCreatedFromScript() { var fakefs = new FakeScriptsProvider(); fakefs.Add("/controllers/test.os", ""); fakefs.Add("/main.os", ""); var appEngine = new WebApplicationEngine(); var app = ApplicationInstance.Create(fakefs.Get("/main.os"), appEngine); var provider = new OscriptApplicationModelProvider(app, appEngine, fakefs); var context = new ApplicationModelProviderContext(new TypeInfo[0]); provider.OnProvidersExecuting(context); var cc = new ControllerContext(); var ad = new ControllerActionDescriptor(); ad.Properties["type"] = context.Result.Controllers[0].Properties["type"]; ad.Properties["module"] = context.Result.Controllers[0].Properties["module"]; cc.ActionDescriptor = ad; cc.HttpContext = new DefaultHttpContext(); cc.HttpContext.Session = null; var activator = new ScriptedControllerActivator(appEngine); var controller = (ScriptedController)activator.Create(cc); Assert.Equal("test", controller.SystemType.Name); }
public void CheckIfControllerCreatedFromScript() { var fakefs = new InMemoryFileProvider(); fakefs.AddFile("controllers/test.os", ""); fakefs.AddFile("main.os", ""); var appEngine = new WebApplicationEngine(); var app = ApplicationInstance.Create(new FileInfoCodeSource(fakefs.GetFileInfo("main.os")), appEngine); var provider = new OscriptApplicationModelProvider(app, appEngine, fakefs, Mock.Of <IAuthorizationPolicyProvider>()); var context = new ApplicationModelProviderContext(new TypeInfo[0]); provider.OnProvidersExecuting(context); var cc = new ControllerContext(); var ad = new ControllerActionDescriptor(); ad.Properties["type"] = context.Result.Controllers[0].Properties["type"]; ad.Properties["module"] = context.Result.Controllers[0].Properties["module"]; cc.ActionDescriptor = ad; cc.HttpContext = new DefaultHttpContext(); cc.HttpContext.Session = null; var activator = new ScriptedControllerActivator(appEngine); var controller = (ScriptedController)activator.Create(cc); Assert.Equal("Контроллер.test", controller.SystemType.Name); }
public void SessionValues_CanBeSet() { lock (TestOrderingLock.Lock) { var wa = new WebApplicationEngine(); var checks = new Dictionary <string, byte[]>(); var session = CreateSessionMock(checks); var oscriptSession = new SessionImpl(session); oscriptSession.SetString("user", "EvilBeaver"); Assert.Equal("EvilBeaver", Encoding.Default.GetString(checks["user"])); } }
public void SessionValues_CanBeRead() { lock (TestOrderingLock.Lock) { var wa = new WebApplicationEngine(); var checks = new Dictionary <string, byte[]>(); var session = CreateSessionMock(checks); var oscriptSession = new SessionImpl(session); oscriptSession.SetString("user", "EvilBeaver"); oscriptSession.SetNumber("num", 1); Assert.Equal("EvilBeaver", oscriptSession.GetString("user").AsString()); Assert.Equal(1m, oscriptSession.GetNumber("num").AsNumber()); } }
public void SessionValues_CanGetKeys() { lock (TestOrderingLock.Lock) { var wa = new WebApplicationEngine(); var checks = new Dictionary <string, byte[]>(); var session = CreateSessionMock(checks); var oscriptSession = new SessionImpl(session); oscriptSession.SetString("user", "EvilBeaver"); oscriptSession.SetString("password", "1"); var arr = oscriptSession.GetKeys(); Assert.Equal(2, arr.Count()); Assert.NotEqual(arr.Find(ValueFactory.Create("user")), ValueFactory.Create()); Assert.NotEqual(arr.Find(ValueFactory.Create("password")), ValueFactory.Create()); } }