public void Should_Report_Unsuccessful_Connection_to_Nonexistant_Database() { //Create a connection string using a random guid as the name of a local database var connectionString = RavenConnectionStringBuilder.BuildConnectionString("http://localhost:8080", Guid.NewGuid().ToString()); //Build our command object var commandObject = new IndexBuildCommand() { AssemblyPaths = new string[] { TestHelper.ValidTestAssemblyPath }, ConnectionStrings = new string[]{connectionString} }; var indexManager = new IndexJobManager(commandObject); try { //Attempt to connect to our databases var connectionReport = indexManager.CanConnectToDbs(); Assert.AreEqual(1, connectionReport.JobResults.Count); Assert.AreEqual(0, connectionReport.Successes); Assert.AreEqual(1, connectionReport.Failures); } catch (InvalidOperationException ex) { Assert.Fail(ex.Message); } finally { indexManager.Dispose(); } }
public void Should_Report_Unsuccessful_Load_For_Assembly_with_No_Index_Definitions() { var commandObject = new IndexBuildCommand() { AssemblyPaths = new string[] { "Hircine.Core.dll" }, UseEmbedded = true }; var indexManager = new IndexJobManager(commandObject); try { var assemblyLoadReport = indexManager.CanLoadAssemblies(); Assert.AreEqual(commandObject.AssemblyPaths.Count(), assemblyLoadReport.JobResults.Count); Assert.AreEqual(0, assemblyLoadReport.Successes); Assert.AreEqual(commandObject.AssemblyPaths.Count(), assemblyLoadReport.Failures); Assert.IsNotNull(assemblyLoadReport.JobResults.First().JobException); Assert.IsInstanceOf<InvalidOperationException>(assemblyLoadReport.JobResults.First().JobException); } catch (InvalidOperationException ex) { Assert.Fail(ex.Message); } finally { indexManager.Dispose(); } }
public void Should_Report_Successful_Connection_to_Embedded_Database() { var commandObject = new IndexBuildCommand() { AssemblyPaths = new string[] {TestHelper.ValidTestAssemblyPath}, UseEmbedded = true }; var indexManager = new IndexJobManager(commandObject); try { //Attempt to connect to our databases var connectionReport = indexManager.CanConnectToDbs(); Assert.AreEqual(1, connectionReport.JobResults.Count); Assert.AreEqual(connectionReport.JobResults.Count, connectionReport.Successes); }catch(InvalidOperationException ex) { Assert.Fail(ex.Message); } finally { indexManager.Dispose(); } }
public void Should_Report_Successful_Load_For_Valid_Assembly_Containing_RavenDB_Index_Definitions() { var commandObject = new IndexBuildCommand() { AssemblyPaths = new string[] { TestHelper.ValidTestAssemblyPath }, UseEmbedded = true }; var indexManager = new IndexJobManager(commandObject); try { var assemblyLoadReport = indexManager.CanLoadAssemblies(); Assert.AreEqual(commandObject.AssemblyPaths.Count(), assemblyLoadReport.JobResults.Count); Assert.AreEqual(commandObject.AssemblyPaths.Count(), assemblyLoadReport.Successes); }catch(InvalidOperationException ex) { Assert.Fail(ex.Message); } finally { indexManager.Dispose(); } }