示例#1
0
        public void PutSession_Integration_CallWebAPI_Updated_NotFail_Test()
        {
            Session session;
            var     manualResetEvent = new ManualResetEvent(false);
            var     exceptionResult  = default(Exception);

            // Get values to test
            using (var context = new MyEventsContext())
            {
                session = context.Sessions.Include("EventDefinition").First();
            }

            // Method to Test
            string urlPrefix = testContextInstance.Properties[TestContext.AspNetDevelopmentServerPrefix + "webapiserver"].ToString();

            var service = new Client.MyEventsClient(urlPrefix);

            service.SetAccessToken(MyEventsToken.CreateToken(session.EventDefinition.OrganizerId));
            IAsyncResult ar = service.SessionService.GetSessionAsync(session.SessionId, (Client.Session getSession) =>
            {
                Client.Session sessionToUpdate    = new Client.Session();
                sessionToUpdate.SessionId         = getSession.SessionId;
                sessionToUpdate.EventDefinitionId = getSession.EventDefinitionId;
                sessionToUpdate.Description       = getSession.Description;
                sessionToUpdate.Speaker           = getSession.Speaker;
                sessionToUpdate.Biography         = getSession.Biography;
                sessionToUpdate.TwitterAccount    = getSession.TwitterAccount;
                sessionToUpdate.StartTime         = getSession.StartTime;
                sessionToUpdate.Duration          = getSession.Duration;

                sessionToUpdate.Title = Guid.NewGuid().ToString();

                ar = service.SessionService.UpdateSessionAsync(sessionToUpdate, (HttpStatusCode statusCode) =>
                {
                    // Asserts
                    using (var context = new MyEventsContext())
                    {
                        Session actual = context.Sessions.FirstOrDefault(q => q.SessionId == session.SessionId);
                        TestHelper.ValidateResult(sessionToUpdate.Title, actual.Title, manualResetEvent, ref exceptionResult);
                    }
                });
            });


            TestHelper.WaitAll(manualResetEvent, ref exceptionResult);
        }
示例#2
0
        public void PostSession_Integration_CallWebAPI_Added_NotFail_Test()
        {
            int             expected         = 0;
            var             manualResetEvent = new ManualResetEvent(false);
            var             exceptionResult  = default(Exception);
            EventDefinition eventDefinition;

            // Method to Test
            string urlPrefix = testContextInstance.Properties[TestContext.AspNetDevelopmentServerPrefix + "webapiserver"].ToString();
            string urlToTest = String.Format("{0}api/session/PostSession", urlPrefix);

            // Get values to test
            using (var context = new MyEventsContext())
            {
                eventDefinition = context.EventDefinitions.Include("Sessions").FirstOrDefault();
                expected        = eventDefinition.Sessions.Count() + 1;
            }

            // Create object to add
            Client.Session session = new Client.Session();
            session.EventDefinitionId = eventDefinition.EventDefinitionId;
            session.Title             = Guid.NewGuid().ToString();
            session.Description       = Guid.NewGuid().ToString();
            session.Speaker           = Guid.NewGuid().ToString();
            session.Biography         = Guid.NewGuid().ToString();
            session.TwitterAccount    = Guid.NewGuid().ToString();
            session.StartTime         = DateTime.Now;
            session.Duration          = 60;
            session.TimeZoneOffset    = 2;

            var service = new Client.MyEventsClient(urlPrefix);

            service.SetAccessToken(MyEventsToken.CreateToken(eventDefinition.OrganizerId));
            IAsyncResult ar = service.SessionService.AddSessionAsync(session, (int sessionId) =>
            {
                // Asserts
                using (var context = new MyEventsContext())
                {
                    int actual = context.Sessions.Count(q => q.EventDefinitionId == eventDefinition.EventDefinitionId);
                    TestHelper.ValidateResult(expected, actual, manualResetEvent, ref exceptionResult);
                }
            });


            TestHelper.WaitAll(manualResetEvent, ref exceptionResult);
        }
示例#3
0
        public static void SequenceChange(Client.Session session, ISource source, bool shouldEnlist, DAE.Runtime.Data.IRow fromRow, DAE.Runtime.Data.IRow toRow, bool above, string script)
        {
            if (!String.IsNullOrEmpty(script) && source != null)
            {
                Guid enlistWithATID = Guid.Empty;

                if (shouldEnlist && source.DataView.Active && source.DataView.ApplicationTransactionServer != null)
                {
                    enlistWithATID = source.DataView.ApplicationTransactionServer.ApplicationTransactionID;
                }

                DAE.IServerProcess process = session.DataSession.ServerSession.StartProcess(new DAE.ProcessInfo(session.DataSession.ServerSession.SessionInfo));
                try
                {
                    if (enlistWithATID != Guid.Empty)
                    {
                        process.JoinApplicationTransaction(enlistWithATID, false);
                    }

                    // Prepare arguments
                    DAE.Runtime.DataParams paramsValue = new DAE.Runtime.DataParams();
                    foreach (DAE.Schema.Column column in fromRow.DataType.Columns)
                    {
                        paramsValue.Add(new DAE.Runtime.DataParam("AFromRow." + column.Name, column.DataType, DAE.Language.Modifier.In, fromRow[column.Name]));
                        paramsValue.Add(new DAE.Runtime.DataParam("AToRow." + column.Name, column.DataType, DAE.Language.Modifier.In, toRow[column.Name]));
                    }
                    paramsValue.Add(new DAE.Runtime.DataParam("AAbove", source.DataView.Process.DataTypes.SystemBoolean, DAE.Language.Modifier.In, above));

                    session.ExecuteScript(process, script, paramsValue);
                }
                finally
                {
                    session.DataSession.ServerSession.StopProcess(process);
                }

                source.DataView.Refresh();
            }
        }
示例#4
0
        protected void RenderInformation()
        {
            Client.Session session = MercuryApplication.Session;

            Page.Title = session.UserDisplayName + " [" + session.UserAccountId + " : " + session.UserAccountName + "]";


            DebugWriteLine("Security Authority: " + session.SecurityAuthorityName + " (" + session.SecurityAuthorityId.ToString() + ")");

            DebugWriteLine("User: "******" [" + session.UserAccountId + " : " + session.UserAccountName + "]");

            DebugWriteLine("Environment Name: " + session.EnvironmentName);

            DebugWriteLine(String.Empty);

            DebugWriteLine("Client Version: " + MercuryApplication.VersionClient);

            DebugWriteLine("Server Version: " + MercuryApplication.VersionServer);

            DebugWriteLine(String.Empty);

            DebugWriteLine("Enterprise Permissions: ");

            foreach (String currentPermission in session.EnterprisePermissionSet.Keys)
            {
                DebugWriteLine(currentPermission);
            }

            DebugWriteLine(String.Empty);

            DebugWriteLine("Environment Permissions: ");

            foreach (String currentPermission in session.EnvironmentPermissionSet.Keys)
            {
                DebugWriteLine(currentPermission);
            }

            DebugWriteLine(String.Empty);

            DebugWriteLine("Work Teams: ");



            foreach (Client.Core.Work.WorkTeam currentWorkTeam in MercuryApplication.WorkTeamsForSession(false))
            {
                DebugWriteLine(currentWorkTeam.Name);
            }


            DebugWriteLine(String.Empty);

            DebugWriteLine("Work Queues: ");

            foreach (Int64 currentWorkQueueId in MercuryApplication.Session.WorkQueuePermissions.Keys)
            {
                Client.Core.Work.WorkQueue currentWorkQueue = MercuryApplication.WorkQueueGet(currentWorkQueueId, false);

                DebugWriteLine(currentWorkQueue.Name + " (" + MercuryApplication.Session.WorkQueuePermissions[currentWorkQueueId].ToString() + ")");
            }



            DebugWriteLine(String.Empty);

            DebugWriteLine("Role Membership: ");

            foreach (String currentMembership in session.RoleMembership)
            {
                DebugWriteLine(currentMembership);
            }

            DebugWriteLine(String.Empty);

            DebugWriteLine("Security Group Membership: ");

            foreach (String currentMembership in session.GroupMembership)
            {
                DebugWriteLine(currentMembership);
            }

            DebugWriteLine(String.Empty);

            if (MercuryApplication.LastException != null)
            {
                Exception lastException = MercuryApplication.LastException;

                if (lastException != null)
                {
                    DebugWriteLine("Client.Application [" + lastException.Source + "] " + lastException.Message);

                    if (lastException.InnerException != null)
                    {
                        DebugWriteLine("Client.Application [" + lastException.InnerException.Source + "] " + lastException.InnerException.Message);
                    }

                    DebugWriteLine("** Stack Trace **");

                    System.Diagnostics.StackTrace debugStack = new System.Diagnostics.StackTrace();

                    foreach (System.Diagnostics.StackFrame currentStackFrame in debugStack.GetFrames())
                    {
                        DebugWriteLine("    [" + currentStackFrame.GetMethod().Module.Assembly.FullName + "] " + currentStackFrame.GetMethod().Name);
                    }
                } // if (lastException != null)
            }


            return;
        }
示例#5
0
        public void PutSession_Integration_CallWebAPI_Updated_NotFail_Test()
        {
            Session session;
            var manualResetEvent = new ManualResetEvent(false);
            var exceptionResult = default(Exception);

            // Get values to test
            using (var context = new MyEventsContext())
            {
                session = context.Sessions.Include("EventDefinition").First();
            }

            // Method to Test
            string urlPrefix = testContextInstance.Properties[TestContext.AspNetDevelopmentServerPrefix + "webapiserver"].ToString();

            var service = new Client.MyEventsClient(urlPrefix);
            service.SetAccessToken(MyEventsToken.CreateToken(session.EventDefinition.OrganizerId));
            IAsyncResult ar = service.SessionService.GetSessionAsync(session.SessionId, (Client.Session getSession) =>
            {
                Client.Session sessionToUpdate = new Client.Session();
                sessionToUpdate.SessionId = getSession.SessionId;
                sessionToUpdate.EventDefinitionId = getSession.EventDefinitionId;
                sessionToUpdate.Description = getSession.Description;
                sessionToUpdate.Speaker = getSession.Speaker;
                sessionToUpdate.Biography = getSession.Biography;
                sessionToUpdate.TwitterAccount = getSession.TwitterAccount;
                sessionToUpdate.StartTime = getSession.StartTime;
                sessionToUpdate.Duration = getSession.Duration;

                sessionToUpdate.Title = Guid.NewGuid().ToString();

                ar = service.SessionService.UpdateSessionAsync(sessionToUpdate, (HttpStatusCode statusCode) =>
                {
                    // Asserts
                    using (var context = new MyEventsContext())
                    {
                        Session actual = context.Sessions.FirstOrDefault(q => q.SessionId == session.SessionId);
                        TestHelper.ValidateResult(sessionToUpdate.Title, actual.Title, manualResetEvent, ref exceptionResult);
                    }
                });

            });

            TestHelper.WaitAll(manualResetEvent, ref exceptionResult);
        }
示例#6
0
        public void PostSession_Integration_CallWebAPI_Added_NotFail_Test()
        {
            int expected = 0;
            var manualResetEvent = new ManualResetEvent(false);
            var exceptionResult = default(Exception);
            EventDefinition eventDefinition;

            // Method to Test
            string urlPrefix = testContextInstance.Properties[TestContext.AspNetDevelopmentServerPrefix + "webapiserver"].ToString();
            string urlToTest = String.Format("{0}api/session/PostSession", urlPrefix);

            // Get values to test
            using (var context = new MyEventsContext())
            {
                eventDefinition = context.EventDefinitions.Include("Sessions").FirstOrDefault();
                expected = eventDefinition.Sessions.Count() + 1;
            }

            // Create object to add
            Client.Session session = new Client.Session();
            session.EventDefinitionId = eventDefinition.EventDefinitionId;
            session.Title = Guid.NewGuid().ToString();
            session.Description = Guid.NewGuid().ToString();
            session.Speaker = Guid.NewGuid().ToString();
            session.Biography = Guid.NewGuid().ToString();
            session.TwitterAccount = Guid.NewGuid().ToString();
            session.StartTime = DateTime.Now;
            session.Duration = 60;
            session.TimeZoneOffset = 2;

            var service = new Client.MyEventsClient(urlPrefix);
            service.SetAccessToken(MyEventsToken.CreateToken(eventDefinition.OrganizerId));
            IAsyncResult ar = service.SessionService.AddSessionAsync(session, (int sessionId) =>
            {
                // Asserts
                using (var context = new MyEventsContext())
                {
                    int actual = context.Sessions.Count(q => q.EventDefinitionId == eventDefinition.EventDefinitionId);
                    TestHelper.ValidateResult(expected, actual, manualResetEvent, ref exceptionResult);
                }
            });

            TestHelper.WaitAll(manualResetEvent, ref exceptionResult);
        }