public void CallMethod_MissingMember() { string scriptFile = "C:\\test.py"; string script = @"class Plugin: def __init__(self): pass def OnLoad(self): Logger.Info(""OnLoad"")"; fileSystemMock.Setup(fs => fs.File.Exists(scriptFile)) .Returns(true); fileSystemMock.Setup(fs => fs.File.ReadAllText(scriptFile)) .Returns(script); var engine = new ScriptEngine.PythonEngine( reportServerReaderMock.Object, reportServerWriterMock.Object, reportServerRepositoryMock.Object, fileSystemMock.Object, loggerMock, scriptLoggerMock.Object); engine.Load(scriptFile); engine.CallMethod("MissingMethod"); scriptLoggerMock.Verify(l => l.Error("Missing member when trying to execute method '{0}'.", It.Is <object[]>(o => o.Contains("MissingMethod"))), Times.AtLeastOnce); }
public void CallMethod() { string scriptFile = "C:\\test.py"; string script = @"class Plugin: def __init__(self): pass def TestMethod(self, variable): Logger.Info(variable)"; fileSystemMock.Setup(fs => fs.File.Exists(scriptFile)) .Returns(true); fileSystemMock.Setup(fs => fs.File.ReadAllText(scriptFile)) .Returns(script); var engine = new ScriptEngine.PythonEngine( reportServerReaderMock.Object, reportServerWriterMock.Object, reportServerRepositoryMock.Object, fileSystemMock.Object, loggerMock, scriptLoggerMock.Object); string expected = "Test Value"; engine.Load(scriptFile); engine.CallMethod("TestMethod", expected); scriptLoggerMock.Verify(l => l.Info(expected)); }
public void GetGlobalVariable( [Random(1, 100, 5)] int a) { string scriptFile = "C:\\test.py"; string script = @"class Plugin: def __init__(self): pass def MyMethod(self, a): global GlobalVariable GlobalVariable = a * 10"; fileSystemMock.Setup(fs => fs.File.Exists(scriptFile)) .Returns(true); fileSystemMock.Setup(fs => fs.File.ReadAllText(scriptFile)) .Returns(script); var engine = new ScriptEngine.PythonEngine( reportServerReaderMock.Object, reportServerWriterMock.Object, reportServerRepositoryMock.Object, fileSystemMock.Object, loggerMock, scriptLoggerMock.Object); int expected = a * 10; engine.Load(scriptFile); engine.CallMethod("MyMethod", a); int actual = engine.GetGlobalVariable("GlobalVariable"); Assert.AreEqual(expected, actual); }