public void Getforeignkeyconnections_should_return_table_tablesconnections_as_jason()
        {
            var foreignKeyColumn = new ForeignKeyColumn {Name = "foreignKeyColumn"};
            var primaryKeyColumn = new PrimaryKeyColumn { Name = "primaryKeyColumn" };

            var foreignKeys = new List<ForeignKey>
            {
                new ForeignKey
                {
                    ForeignKeyTableName = "ForeignKeyTableName",
                    PrimaryKeyTableName = "PrimaryKeyTableName",
                    ForeignKeyColumns = new List<ForeignKeyColumn> { foreignKeyColumn },
                    PrimaryKeysColumns = new List<PrimaryKeyColumn>{ primaryKeyColumn}
                }
            };

            _schemaReader.Expect(sr => sr.GetForeignKeys(Connectionstring)).Return(foreignKeys);

            _connectionstringArgumentsMapperFactory = new ConnectionstringArgumentsMapperFactory();

            _databaseExplorerController = new DatabaseExplorerController(_schemaReader, _connectionstringBuilder, _connectionstringArgumentsMapperFactory);
            _databaseExplorerController.ControllerContext = new ControllerContext(_context, new RouteData(), _databaseExplorerController);

            var result = _databaseExplorerController.GetForeignKeyConnections() as JsonResult;

            Assert.IsNotNull(result);

            var serializer = new JavaScriptSerializer();
            var output = serializer.Serialize(result.Data);
            Console.WriteLine(output);

            Assert.AreEqual("[{\"Name\":null,\"OriginalName\":null,\"ForeignKeyTableName\":\"ForeignKeyTableName\",\"ForeignKeyTableSchema\":null,\"ForeignKeyColumns\":[{\"Name\":\"foreignKeyColumn\"}],\"PrimaryKeyTableName\":\"PrimaryKeyTableName\",\"PrimaryKeyTableSchema\":null,\"PrimaryKeysColumns\":[{\"Name\":\"primaryKeyColumn\"}]}]", output);
        }
 public DatabaseExplorerController(ISchemaReader schemaReader, 
                                   IConnectionstringBuilder connectionstringBuilder, 
                                   IConnectionstringArgumentsMapperFactory connectionstringArgumentsMapperFactory)
 {
     _schemaReader = schemaReader;
     _connectionstringBuilder = connectionstringBuilder;
     _connectionstringArgumentsMapperFactory = connectionstringArgumentsMapperFactory;
 }
        public void SetUp()
        {
            _session = MockRepository.GenerateStrictMock<HttpSessionStateBase>();
            _session.Stub(s => s["Connectionstring"]).Return(Connectionstring);

            _context = MockRepository.GenerateStrictMock<HttpContextBase>();
            _context.Stub(c => c.Session).Return(_session);

            _connectionstringBuilder = MockRepository.GenerateStub<IConnectionstringBuilder>();
            _connectionstringBuilder.Expect(cb => cb.BuildConnectionString(Arg<IConnectionstringArguments>.Is.Anything)).Return(Connectionstring);

            var sqlServerConnectionstringArgumentsMapper = new SqlServerConnectionstringArgumentsMapper();
            _connectionstringArgumentsMapperFactory = MockRepository.GenerateStrictMock<IConnectionstringArgumentsMapperFactory>();
            _connectionstringArgumentsMapperFactory.Expect(factory => factory.Make(Arg<string>.Is.Anything)).Return(sqlServerConnectionstringArgumentsMapper);

            _schemaReader = MockRepository.GenerateStub<ISchemaReader>();
        }
 public void SetUp()
 {
     _connectionstringArgumentsMapperFactory = new ConnectionstringArgumentsMapperFactory();
 }