public void TestLogStreamSubFolder() { string appName = "TestLogStreamFilter"; ApplicationManager.Run(appName, appManager => { // Act using (var localRepo = Git.Clone("LogTester")) { appManager.GitDeploy(localRepo.PhysicalPath); } List <string> logFiles = new List <string>(); List <LogStreamWaitHandle> waitHandles = new List <LogStreamWaitHandle>(); for (int i = 0; i < 2; ++i) { logFiles.Add(@"LogFiles\TestLogStreamFilter\Folder" + i + "\\temp.txt"); //Create the directory CreateLogDirectory(appManager.SiteUrl, @"LogFiles\TestLogStreamFilter\Folder" + i); RemoteLogStreamManager mgr = appManager.CreateLogStreamManager("TestLogStreamFilter/folder" + i); var waitHandle = new LogStreamWaitHandle(mgr.GetStream().Result); string line = waitHandle.WaitNextLine(10000); Assert.True(!string.IsNullOrEmpty(line) && line.Contains("Welcome"), "check welcome message: " + line); waitHandles.Add(waitHandle); } using (LogStreamWaitHandle waitHandle = new LogStreamWaitHandle(appManager.CreateLogStreamManager("TestLogStreamFilter").GetStream().Result)) { try { string line = waitHandle.WaitNextLine(10000); Assert.True(!string.IsNullOrEmpty(line) && line.Contains("Welcome"), "check welcome message: " + line); // write to folder0, we should not get any live stream for folder1 listener string content = Guid.NewGuid().ToString(); WriteLogText(appManager.SiteUrl, logFiles[0], content); line = waitHandle.WaitNextLine(10000); Assert.Equal(content, line); line = waitHandles[0].WaitNextLine(10000); Assert.Equal(content, line); line = waitHandles[1].WaitNextLine(1000); Assert.True(line == null, "no more message: " + line); // write to folder1, we should not get any live stream for folder0 listener content = Guid.NewGuid().ToString(); WriteLogText(appManager.SiteUrl, logFiles[1], content); line = waitHandle.WaitNextLine(10000); Assert.Equal(content, line); line = waitHandles[1].WaitNextLine(10000); Assert.Equal(content, line); line = waitHandles[0].WaitNextLine(1000); Assert.True(line == null, "no more message: " + line); } finally { waitHandles[0].Dispose(); waitHandles[1].Dispose(); } } }); }
public void TestLogStreamBasic() { string repoName = "LogTester"; string repoCloneUrl = "https://github.com/KuduApps/LogTester.git"; string appName = KuduUtils.GetRandomWebsiteName("TestLogStreamBasic"); string localRepo = GetRepositoryPath(repoName, repoCloneUrl, appName); ApplicationManager.Run(appName, appManager => { // Act appManager.GitDeploy(localRepo); CreateLogDirectory(appManager.SiteUrl, @"LogFiles"); using (var waitHandle = new LogStreamWaitHandle(appManager.LogStreamManager.GetStream().Result)) { string line = waitHandle.WaitNextLine(10000); Assert.True(!String.IsNullOrEmpty(line) && line.Contains("Welcome"), "check welcome message: " + line); string content = Guid.NewGuid().ToString(); WriteLogText(appManager.SiteUrl, @"LogFiles\temp.txt", content); line = waitHandle.WaitNextLine(10000); Assert.Equal(content, line); content = Guid.NewGuid().ToString(); WriteLogText(appManager.SiteUrl, @"LogFiles\temp.log", content); line = waitHandle.WaitNextLine(10000); Assert.Equal(content, line); // write to xml file, we should not get any live stream content = Guid.NewGuid().ToString(); WriteLogText(appManager.SiteUrl, @"LogFiles\temp.xml", content); line = waitHandle.WaitNextLine(1000); Assert.Null(line); } }); }
public void TestLogStreamNotFound() { string appName = "TestLogStreamNotFound"; ApplicationManager.Run(appName, appManager => { RemoteLogStreamManager manager = new RemoteLogStreamManager(appManager.ServiceUrl + "/logstream/notfound"); using (var waitHandle = new LogStreamWaitHandle(manager.GetStream().Result)) { string line = waitHandle.WaitNextLine(10000); Assert.True(!String.IsNullOrEmpty(line) && line.Contains("Welcome"), "check welcome message: " + line); } }); }
public void TestLogStreamBasic() { string appName = "TestLogStreamBasic"; ApplicationManager.Run(appName, appManager => { // Act using (var localRepo = Git.Clone("LogTester")) { appManager.GitDeploy(localRepo.PhysicalPath); } CreateLogDirectory(appManager.SiteUrl, @"LogFiles\TestLogStreamBasic"); using (var waitHandle = new LogStreamWaitHandle(appManager.CreateLogStreamManager("TestLogStreamBasic").GetStream().Result)) { string line = waitHandle.WaitNextLine(10000); Assert.True(!String.IsNullOrEmpty(line) && line.Contains("Welcome"), "check welcome message: " + line); string content = Guid.NewGuid().ToString(); WriteLogText(appManager.SiteUrl, @"LogFiles\TestLogStreamBasic\temp.txt", content); line = waitHandle.WaitNextLine(10000); Assert.Equal(content, line); content = Guid.NewGuid().ToString(); WriteLogText(appManager.SiteUrl, @"LogFiles\TestLogStreamBasic\temp.log", content); line = waitHandle.WaitNextLine(10000); Assert.Equal(content, line); // write to xml file, we should not get any live stream content = Guid.NewGuid().ToString(); WriteLogText(appManager.SiteUrl, @"LogFiles\TestLogStreamBasic\temp.xml", content); line = waitHandle.WaitNextLine(1000); Assert.Null(line); } }); }
public void TestLogStreamSubFolder() { string appName = KuduUtils.GetRandomWebsiteName("TestLogStreamFilter"); string repoName = "LogTester"; string repoCloneUrl = "https://github.com/KuduApps/LogTester.git"; TestRepository testRepository = null; string localRepo = KuduUtils.GetCachedRepositoryPath(repoName); if (localRepo == null) { testRepository = Git.Clone(appName, repoCloneUrl); localRepo = testRepository.PhysicalPath; } ApplicationManager.Run(appName, appManager => { // Act appManager.GitDeploy(localRepo); List <string> logFiles = new List <string>(); List <LogStreamWaitHandle> waitHandles = new List <LogStreamWaitHandle>(); for (int i = 0; i < 2; ++i) { logFiles.Add(@"LogFiles\Folder" + i + "\\temp.txt"); //Create the directory CreateLogDirectory(appManager.SiteUrl, @"LogFiles\Folder" + i); RemoteLogStreamManager mgr = appManager.CreateLogStreamManager("folder" + i); var waitHandle = new LogStreamWaitHandle(mgr.GetStream().Result); string line = waitHandle.WaitNextLine(10000); Assert.True(!string.IsNullOrEmpty(line) && line.Contains("Welcome"), "check welcome message: " + line); waitHandles.Add(waitHandle); } using (LogStreamWaitHandle waitHandle = new LogStreamWaitHandle(appManager.LogStreamManager.GetStream().Result)) { try { string line = waitHandle.WaitNextLine(10000); Assert.True(!string.IsNullOrEmpty(line) && line.Contains("Welcome"), "check welcome message: " + line); // write to folder0, we should not get any live stream for folder1 listener string content = Guid.NewGuid().ToString(); WriteLogText(appManager.SiteUrl, logFiles[0], content); line = waitHandle.WaitNextLine(10000); Assert.Equal(content, line); line = waitHandles[0].WaitNextLine(10000); Assert.Equal(content, line); line = waitHandles[1].WaitNextLine(1000); Assert.True(line == null, "no more message: " + line); // write to folder1, we should not get any live stream for folder0 listener content = Guid.NewGuid().ToString(); WriteLogText(appManager.SiteUrl, logFiles[1], content); line = waitHandle.WaitNextLine(10000); Assert.Equal(content, line); line = waitHandles[1].WaitNextLine(10000); Assert.Equal(content, line); line = waitHandles[0].WaitNextLine(1000); Assert.True(line == null, "no more message: " + line); } finally { waitHandles[0].Dispose(); waitHandles[1].Dispose(); } } }); }