public void WrapsGetSchemaDataSet()
        {
            var mockConn           = new Mock <IAdomdConnection>();
            var conn               = new GlimpseAdomdConnection(mockConn.Object, new Mock <ITimedMessagePublisher>().Object);
            var guid               = Guid.NewGuid();
            var restrictions       = new object[] {};
            var nativeRestrictions = new AdomdRestrictionCollection();

            conn.GetSchemaDataSet(guid, restrictions);
            mockConn.Verify(p => p.GetSchemaDataSet(guid, restrictions), Times.Once);

            conn.GetSchemaDataSet(guid, restrictions, true);
            mockConn.Verify(p => p.GetSchemaDataSet(guid, restrictions, true), Times.Once);

            conn.GetSchemaDataSet(guid.ToString(), nativeRestrictions);
            mockConn.Verify(p => p.GetSchemaDataSet(guid.ToString(), nativeRestrictions), Times.Once);

            conn.GetSchemaDataSet(guid.ToString(), nativeRestrictions, false);
            mockConn.Verify(p => p.GetSchemaDataSet(guid.ToString(), nativeRestrictions, false), Times.Once);

            conn.GetSchemaDataSet(guid.ToString(), "schemaNs", nativeRestrictions);
            mockConn.Verify(p => p.GetSchemaDataSet(guid.ToString(), "schemaNs", nativeRestrictions), Times.Once);

            conn.GetSchemaDataSet(guid.ToString(), "schemaNs", nativeRestrictions, false);
            mockConn.Verify(p => p.GetSchemaDataSet(guid.ToString(), "schemaNs", nativeRestrictions, false), Times.Once);
        }
        public void Constructor_SetsDefaults()
        {
            var conn = new GlimpseAdomdConnection(new Mock<IAdomdConnection>().Object,
                new Mock<ITimedMessagePublisher>().Object);

            Assert.That(conn.ConnectionId, Is.Not.Null);
        }
        public void Constructor_SetsDefaults()
        {
            var conn = new GlimpseAdomdConnection(new Mock <IAdomdConnection>().Object,
                                                  new Mock <ITimedMessagePublisher>().Object);

            Assert.That(conn.ConnectionId, Is.Not.Null);
        }
        public void WrapsConnectionTimeout()
        {
            var mockConn = new Mock<IAdomdConnection>();
            mockConn.SetupGet(p => p.ConnectionTimeout).Returns(30);

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock<ITimedMessagePublisher>().Object);
            Assert.That(conn.ConnectionTimeout, Is.EqualTo(30));
            mockConn.VerifyGet(p => p.ConnectionTimeout, Times.Once);
        }
        public void WrapsRefreshMetadata()
        {
            var mockConn = new Mock <IAdomdConnection>();
            var conn     = new GlimpseAdomdConnection(mockConn.Object, new Mock <ITimedMessagePublisher>().Object);

            conn.RefreshMetadata();

            mockConn.Verify(p => p.RefreshMetadata(), Times.Once);
        }
        public void WrapsMiningServices()
        {
            var mockConn = new Mock <IAdomdConnection>();

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock <ITimedMessagePublisher>().Object);

            Assert.That(conn.MiningServices, Is.EqualTo(null));
            mockConn.VerifyGet(p => p.MiningServices, Times.Once);
        }
        public void WrapsChangeDatabase()
        {
            var mockConn = new Mock<IAdomdConnection>();
            mockConn.SetupProperty(p => p.ConnectionString, "TEST");

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock<ITimedMessagePublisher>().Object);
            conn.ChangeDatabase("TEST2");
            mockConn.Verify(p => p.ChangeDatabase(It.Is<string>(s => s == "TEST2")), Times.Once);
        }
        public void WrapsDatabase()
        {
            var mockConn = new Mock<IAdomdConnection>();
            mockConn.SetupGet(p => p.Database).Returns("TEST");

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock<ITimedMessagePublisher>().Object);
            Assert.That(conn.Database, Is.EqualTo("TEST"));
            mockConn.VerifyGet(p => p.Database, Times.Once);
        }
 public CellSet GetResultForFirstYear()
 {
     using (var conn = new GlimpseAdomdConnection(connStr))
     {
         conn.Open();
         var cmd = conn.CreateCommand();
         cmd.CommandText = "SELECT [Date].[Calendar Year].FirstChild on 0 FROM [Adventure Works];";
         return(cmd.ExecuteCellSet());
     }
 }
 public CellSet GetResultForFirstYear()
 {
     using (var conn = new GlimpseAdomdConnection(connStr))
     {
         conn.Open();
         var cmd = conn.CreateCommand();
         cmd.CommandText = "SELECT [Date].[Calendar Year].FirstChild on 0 FROM [Adventure Works];";
         return cmd.ExecuteCellSet();
     }
 }
        public void WrapsSessionID()
        {
            var mockConn = new Mock <IAdomdConnection>();

            mockConn.SetupGet(p => p.SessionID).Returns("1.0");

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock <ITimedMessagePublisher>().Object);

            Assert.That(conn.SessionID, Is.EqualTo("1.0"));
            mockConn.VerifyGet(p => p.SessionID, Times.Once);
        }
        public void WrapsShowHiddenObjects()
        {
            var mockConn = new Mock <IAdomdConnection>();

            mockConn.SetupGet(p => p.ShowHiddenObjects).Returns(true);

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock <ITimedMessagePublisher>().Object);

            Assert.That(conn.ShowHiddenObjects, Is.True);
            mockConn.VerifyGet(p => p.ShowHiddenObjects, Times.Once);
        }
        public void WrapsState()
        {
            var mockConn = new Mock <IAdomdConnection>();

            mockConn.SetupGet(p => p.State).Returns(ConnectionState.Closed);

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock <ITimedMessagePublisher>().Object);

            Assert.That(conn.State, Is.EqualTo(ConnectionState.Closed));
            mockConn.VerifyGet(p => p.State, Times.Once);
        }
        public void WrapsOpenAndPublishesMessage()
        {
            var mockPublisher = new Mock <ITimedMessagePublisher>();
            var mockConn      = new Mock <IAdomdConnection>();
            var conn          = new GlimpseAdomdConnection(mockConn.Object, mockPublisher.Object);

            conn.Open();

            mockConn.Verify(p => p.Open(), Times.Once);
            mockPublisher.Verify(p => p.EmitStartMessage(It.Is <ConnectionStartedMessage>(s => s.ConnectionId == conn.ConnectionId)), Times.Once);
        }
        public void WrapsChangeDatabase()
        {
            var mockConn = new Mock <IAdomdConnection>();

            mockConn.SetupProperty(p => p.ConnectionString, "TEST");

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock <ITimedMessagePublisher>().Object);

            conn.ChangeDatabase("TEST2");
            mockConn.Verify(p => p.ChangeDatabase(It.Is <string>(s => s == "TEST2")), Times.Once);
        }
        public void WrapsConnectionTimeout()
        {
            var mockConn = new Mock <IAdomdConnection>();

            mockConn.SetupGet(p => p.ConnectionTimeout).Returns(30);

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock <ITimedMessagePublisher>().Object);

            Assert.That(conn.ConnectionTimeout, Is.EqualTo(30));
            mockConn.VerifyGet(p => p.ConnectionTimeout, Times.Once);
        }
        public void WrapsDatabase()
        {
            var mockConn = new Mock <IAdomdConnection>();

            mockConn.SetupGet(p => p.Database).Returns("TEST");

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock <ITimedMessagePublisher>().Object);

            Assert.That(conn.Database, Is.EqualTo("TEST"));
            mockConn.VerifyGet(p => p.Database, Times.Once);
        }
        public void WrapsConnectionString()
        {
            var mockConn = new Mock<IAdomdConnection>();
            mockConn.SetupProperty(p => p.ConnectionString, "TEST");

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock<ITimedMessagePublisher>().Object);
            Assert.That(conn.ConnectionString, Is.EqualTo("TEST"));
            mockConn.VerifyGet(p => p.ConnectionString, Times.Once);
            conn.ConnectionString = "ABC";
            Assert.That(conn.ConnectionString, Is.EqualTo("ABC"));
            mockConn.VerifySet(p => p.ConnectionString = It.Is<string>(s => s == "ABC"), Times.Once);
        }
        public XmlReader TestExecuteXmlReader()
        {
            using (var conn = new GlimpseAdomdConnection(connStr))
            {
                conn.Open();
                var cmd = conn.CreateCommand();
                cmd.CommandText = @"SELECT {[Measures].[Sales Amount],
[Measures].[Gross Profit Margin]} ON COLUMNS, 
{[Product].[Product Model Categories].[Category]} ON ROWS 
FROM [Adventure Works]
WHERE ([Sales Territory Country].[United States]);";
                return(cmd.ExecuteXmlReader());
            }
        }
 public CellSet GetResultForYear(int year)
 {
     using (var conn = new GlimpseAdomdConnection(connStr))
     {
         conn.Open();
         var cmd = conn.CreateCommand();
         cmd.CommandText = "SELECT [Date].[Calendar Year].[StrToMember(@CalendarYear)] on 0 FROM [Adventure Works];";
         var parameter = cmd.CreateParameter();
         parameter.ParameterName = "CalendarYear";
         parameter.Value         = "CY 2012";
         cmd.Parameters.Add(parameter);
         return(cmd.ExecuteCellSet());
     }
 }
 public CellSet GetResultForYear(int year)
 {
     using (var conn = new GlimpseAdomdConnection(connStr))
     {
         conn.Open();
         var cmd = conn.CreateCommand();
         cmd.CommandText = "SELECT [Date].[Calendar Year].[StrToMember(@CalendarYear)] on 0 FROM [Adventure Works];";
         var parameter = cmd.CreateParameter();
         parameter.ParameterName = "CalendarYear";
         parameter.Value = "CY 2012";
         cmd.Parameters.Add(parameter);
         return cmd.ExecuteCellSet();
     }
 }
        public void WrapsConnectionString()
        {
            var mockConn = new Mock <IAdomdConnection>();

            mockConn.SetupProperty(p => p.ConnectionString, "TEST");

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock <ITimedMessagePublisher>().Object);

            Assert.That(conn.ConnectionString, Is.EqualTo("TEST"));
            mockConn.VerifyGet(p => p.ConnectionString, Times.Once);
            conn.ConnectionString = "ABC";
            Assert.That(conn.ConnectionString, Is.EqualTo("ABC"));
            mockConn.VerifySet(p => p.ConnectionString = It.Is <string>(s => s == "ABC"), Times.Once);
        }
        public void BeginTransactionWithIsolationLevelReturnsWrapedTransaction()
        {
            var mockConn = new Mock <IAdomdConnection>();

            mockConn.Setup(p => p.BeginTransaction(IsolationLevel.Chaos)).Returns(new Mock <IDbTransaction>().Object);
            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock <ITimedMessagePublisher>().Object);

            var tx = conn.BeginTransaction(IsolationLevel.Chaos);

            Assert.That(tx, Is.Not.Null);
            Assert.That(tx, Is.InstanceOf <GlimpseAdomdTransaction>());
            Assert.That(tx.Connection, Is.EqualTo(conn));
            mockConn.Verify(p => p.BeginTransaction(It.Is <IsolationLevel>(s => s == IsolationLevel.Chaos)), Times.Once);
        }
        public XmlReader TestExecuteXmlReader()
        {
            using (var conn = new GlimpseAdomdConnection(connStr))
            {
                conn.Open();
                var cmd = conn.CreateCommand();
                cmd.CommandText = @"SELECT {[Measures].[Sales Amount],
[Measures].[Gross Profit Margin]} ON COLUMNS, 
{[Product].[Product Model Categories].[Category]} ON ROWS 
FROM [Adventure Works]
WHERE ([Sales Territory Country].[United States]);";
                return cmd.ExecuteXmlReader();
            }
        }
        public CellSet GetInternetSalesAmount()
        {
            using (var conn = new GlimpseAdomdConnection(connStr))
            {
                conn.Open();
                var cmd = conn.CreateCommand();
                cmd.CommandText = @"WITH SET [EUROPE] AS '{[Customer].[Country].&[France],
[Customer].[Country].&[Germany],
[Customer].[Country].&[United Kingdom]}' 
SELECT Measures.[Internet Sales Amount] ON COLUMNS,
[EUROPE] ON ROWS
FROM [Adventure Works];";
                return(cmd.ExecuteCellSet());
            }
        }
        public CellSet GetInternetSalesAmount()
        {
            using (var conn = new GlimpseAdomdConnection(connStr))
            {
                conn.Open();
                var cmd = conn.CreateCommand();
                cmd.CommandText = @"WITH SET [EUROPE] AS '{[Customer].[Country].&[France],
[Customer].[Country].&[Germany],
[Customer].[Country].&[United Kingdom]}' 
SELECT Measures.[Internet Sales Amount] ON COLUMNS,
[EUROPE] ON ROWS
FROM [Adventure Works];";
                return cmd.ExecuteCellSet();
            }
        }
        public void WrapsCloseEndSessionAndPublishesMessage()
        {
            var mockPublisher = new Mock <ITimedMessagePublisher>();
            var mockConn      = new Mock <IAdomdConnection>();
            var conn          = new GlimpseAdomdConnection(mockConn.Object, mockPublisher.Object);

            conn.Close(true);

            mockConn.Verify(p => p.Close(true), Times.Once);
            mockPublisher.Verify(p => p.EmitStopMessage(It.Is <ConnectionClosedMessage>(
                                                            s => s.ConnectionId == conn.ConnectionId &&
                                                            s.EventCategory == AdomdTimelineCategory.Connection &&
                                                            s.EventName == "Connection: Opened" &&
                                                            s.EventSubText == null)), Times.Once);
        }
 public DataTable TestDmv()
 {
     using (var conn = new GlimpseAdomdConnection(connStr))
     {
         conn.Open();
         var cmd = conn.CreateCommand();
         cmd.CommandText = "Select * from $System.discover_object_memory_usage";
         DataSet ds = new DataSet {
             EnforceConstraints = false
         };
         ds.Tables.Add();
         DataTable dt = ds.Tables[0];
         dt.Load(cmd.ExecuteReader());
         return(dt);
     }
 }
        public void WrapsDisposeAndCloseIfNotOpenedConnection()
        {
            var mockPublisher = new Mock <ITimedMessagePublisher>();
            var mockConn      = new Mock <IAdomdConnection>();

            mockConn.Setup(p => p.State).Returns(ConnectionState.Closed);
            var conn = new GlimpseAdomdConnection(mockConn.Object, mockPublisher.Object);

            conn.Dispose();

            mockConn.Verify(p => p.Close(), Times.Never);
            mockPublisher.Verify(p => p.EmitStopMessage(It.Is <ConnectionClosedMessage>(
                                                            s => s.ConnectionId == conn.ConnectionId &&
                                                            s.EventCategory == AdomdTimelineCategory.Connection &&
                                                            s.EventName == "Connection: Opened" &&
                                                            s.EventSubText == null)), Times.Never);
        }
        public void WrapsCreateCommandWithExplicitInterfaceCall()
        {
            var mockCmd  = new Mock <IAdomdCommand>();
            var mockConn = new Mock <IAdomdConnection>();

            mockConn.Setup(p => p.CreateCommand()).Returns(mockCmd.Object);
            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock <ITimedMessagePublisher>().Object);

            var cmd = ((IDbConnection)conn).CreateCommand();

            Assert.That(cmd, Is.Not.Null);
            Assert.That(cmd, Is.InstanceOf <GlimpseAdomdCommand>());
            GlimpseAdomdCommand command = (GlimpseAdomdCommand)cmd;

            Assert.That(conn, Is.EqualTo(command.Connection));
            Assert.That(conn.ConnectionId, Is.EqualTo(command.ConnectionId));
            mockConn.Verify(p => p.CreateCommand(), Times.Once);
        }
        public DataTable TestExecuteReader()
        {
            using (var conn = new GlimpseAdomdConnection(connStr))
            {
                conn.Open();
                var cmd = conn.CreateCommand();
                cmd.CommandText = @"SELECT {[Measures].[Sales Amount],
[Measures].[Gross Profit Margin]} ON COLUMNS, 
{[Product].[Product Model Categories].[Category]} ON ROWS 
FROM [Adventure Works]
WHERE ([Sales Territory Country].[United States]);";
                DataSet ds = new DataSet {EnforceConstraints = false};
                ds.Tables.Add();
                DataTable dt = ds.Tables[0];
                dt.Load(cmd.ExecuteReader());
                return dt;
            }
        }
        public DataTable TestExecuteReader()
        {
            using (var conn = new GlimpseAdomdConnection(connStr))
            {
                conn.Open();
                var cmd = conn.CreateCommand();
                cmd.CommandText = @"SELECT {[Measures].[Sales Amount],
[Measures].[Gross Profit Margin]} ON COLUMNS, 
{[Product].[Product Model Categories].[Category]} ON ROWS 
FROM [Adventure Works]
WHERE ([Sales Territory Country].[United States]);";
                DataSet ds = new DataSet {
                    EnforceConstraints = false
                };
                ds.Tables.Add();
                DataTable dt = ds.Tables[0];
                dt.Load(cmd.ExecuteReader());
                return(dt);
            }
        }
        public void WrapsShowHiddenObjects()
        {
            var mockConn = new Mock<IAdomdConnection>();
            mockConn.SetupGet(p => p.ShowHiddenObjects).Returns(true);

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock<ITimedMessagePublisher>().Object);
            Assert.That(conn.ShowHiddenObjects, Is.True);
            mockConn.VerifyGet(p => p.ShowHiddenObjects, Times.Once);
        }
        public void WrapsDisposeAndCloseIfNotOpenedConnection()
        {
            var mockPublisher = new Mock<ITimedMessagePublisher>();
            var mockConn = new Mock<IAdomdConnection>();
            mockConn.Setup(p => p.State).Returns(ConnectionState.Closed);
            var conn = new GlimpseAdomdConnection(mockConn.Object, mockPublisher.Object);

            conn.Dispose();

            mockConn.Verify(p => p.Close(), Times.Never);
            mockPublisher.Verify(p => p.EmitStopMessage(It.Is<ConnectionClosedMessage>(
                s => s.ConnectionId == conn.ConnectionId
                && s.EventCategory == AdomdTimelineCategory.Connection
                && s.EventName == "Connection: Opened"
                && s.EventSubText == null)), Times.Never);
        }
        public void WrapsCloseEndSessionAndPublishesMessage()
        {
            var mockPublisher = new Mock<ITimedMessagePublisher>();
            var mockConn = new Mock<IAdomdConnection>();
            var conn = new GlimpseAdomdConnection(mockConn.Object, mockPublisher.Object);

            conn.Close(true);

            mockConn.Verify(p => p.Close(true), Times.Once);
            mockPublisher.Verify(p => p.EmitStopMessage(It.Is<ConnectionClosedMessage>(
                s => s.ConnectionId == conn.ConnectionId 
                && s.EventCategory == AdomdTimelineCategory.Connection
                && s.EventName == "Connection: Opened"
                && s.EventSubText == null)), Times.Once);
        }
        public void WrapsOpenAndPublishesMessage()
        {
            var mockPublisher = new Mock<ITimedMessagePublisher>();
            var mockConn = new Mock<IAdomdConnection>();
            var conn = new GlimpseAdomdConnection(mockConn.Object, mockPublisher.Object);

            conn.Open();

            mockConn.Verify(p => p.Open(), Times.Once);
            mockPublisher.Verify(p => p.EmitStartMessage(It.Is<ConnectionStartedMessage>(s => s.ConnectionId == conn.ConnectionId)), Times.Once);
        }
        public void WrapsGetSchemaDataSet()
        {
            var mockConn = new Mock<IAdomdConnection>();
            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock<ITimedMessagePublisher>().Object);
            var guid = Guid.NewGuid();
            var restrictions = new object[] {};
            var nativeRestrictions = new AdomdRestrictionCollection();

            conn.GetSchemaDataSet(guid, restrictions);
            mockConn.Verify(p => p.GetSchemaDataSet(guid, restrictions), Times.Once);

            conn.GetSchemaDataSet(guid, restrictions, true);
            mockConn.Verify(p => p.GetSchemaDataSet(guid, restrictions, true), Times.Once);

            conn.GetSchemaDataSet(guid.ToString(), nativeRestrictions);
            mockConn.Verify(p => p.GetSchemaDataSet(guid.ToString(), nativeRestrictions), Times.Once);

            conn.GetSchemaDataSet(guid.ToString(), nativeRestrictions, false);
            mockConn.Verify(p => p.GetSchemaDataSet(guid.ToString(), nativeRestrictions, false), Times.Once);

            conn.GetSchemaDataSet(guid.ToString(), "schemaNs", nativeRestrictions);
            mockConn.Verify(p => p.GetSchemaDataSet(guid.ToString(), "schemaNs", nativeRestrictions), Times.Once);

            conn.GetSchemaDataSet(guid.ToString(), "schemaNs", nativeRestrictions, false);
            mockConn.Verify(p => p.GetSchemaDataSet(guid.ToString(), "schemaNs", nativeRestrictions, false), Times.Once);
        }
        public void WrapsSessionID()
        {
            var mockConn = new Mock<IAdomdConnection>();
            mockConn.SetupGet(p => p.SessionID).Returns("1.0");

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock<ITimedMessagePublisher>().Object);
            Assert.That(conn.SessionID, Is.EqualTo("1.0"));
            mockConn.VerifyGet(p => p.SessionID, Times.Once);
        }
        public void WrapsRefreshMetadata()
        {
            var mockConn = new Mock<IAdomdConnection>();
            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock<ITimedMessagePublisher>().Object);

            conn.RefreshMetadata();

            mockConn.Verify(p => p.RefreshMetadata(), Times.Once);
        }
        public void BeginTransactionWithIsolationLevelReturnsWrapedTransaction()
        {
            var mockConn = new Mock<IAdomdConnection>();
            mockConn.Setup(p => p.BeginTransaction(IsolationLevel.Chaos)).Returns(new Mock<IDbTransaction>().Object);
            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock<ITimedMessagePublisher>().Object);

            var tx = conn.BeginTransaction(IsolationLevel.Chaos);

            Assert.That(tx, Is.Not.Null);
            Assert.That(tx, Is.InstanceOf<GlimpseAdomdTransaction>());
            Assert.That(tx.Connection, Is.EqualTo(conn));
            mockConn.Verify(p => p.BeginTransaction(It.Is<IsolationLevel>(s => s == IsolationLevel.Chaos)), Times.Once);
        }
        public void WrapsCubes()
        {
            var mockConn = new Mock<IAdomdConnection>();

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock<ITimedMessagePublisher>().Object);
            Assert.That(conn.Cubes, Is.EqualTo(null));
            mockConn.VerifyGet(p => p.Cubes, Times.Once);
        }
        public void WrapsCreateCommandWithExplicitInterfaceCall()
        {
            var mockCmd = new Mock<IAdomdCommand>();
            var mockConn = new Mock<IAdomdConnection>();
            mockConn.Setup(p => p.CreateCommand()).Returns(mockCmd.Object);
            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock<ITimedMessagePublisher>().Object);

            var cmd = ((IDbConnection)conn).CreateCommand();
            Assert.That(cmd, Is.Not.Null);
            Assert.That(cmd, Is.InstanceOf<GlimpseAdomdCommand>());
            GlimpseAdomdCommand command = (GlimpseAdomdCommand)cmd;
            Assert.That(conn, Is.EqualTo(command.Connection));
            Assert.That(conn.ConnectionId, Is.EqualTo(command.ConnectionId));
            mockConn.Verify(p => p.CreateCommand(), Times.Once);
        }
 public DataTable TestDmv()
 {
     using (var conn = new GlimpseAdomdConnection(connStr))
     {
         conn.Open();
         var cmd = conn.CreateCommand();
         cmd.CommandText = "Select * from $System.discover_object_memory_usage";
         DataSet ds = new DataSet { EnforceConstraints = false };
         ds.Tables.Add();
         DataTable dt = ds.Tables[0];
         dt.Load(cmd.ExecuteReader());
         return dt;
     }
 }
        public void WrapsState()
        {
            var mockConn = new Mock<IAdomdConnection>();
            mockConn.SetupGet(p => p.State).Returns(ConnectionState.Closed);

            var conn = new GlimpseAdomdConnection(mockConn.Object, new Mock<ITimedMessagePublisher>().Object);
            Assert.That(conn.State, Is.EqualTo(ConnectionState.Closed));
            mockConn.VerifyGet(p => p.State, Times.Once);
        }