Update of /cvsroot/sharpcvslib/sharpcvslib/src/ICSharpCode.Tests/SharpCvsLib/Commands In directory sc8-pr-cvs1:/tmp/cvs-serv24683/src/ICSharpCode.Tests/SharpCvsLib/Commands Modified Files: CheckoutModuleCommandTest.cs UpdateCommandTest.cs UpdateCommandTestCvsnt.cs Log Message: Code reformat. Index: CheckoutModuleCommandTest.cs =================================================================== RCS file: /cvsroot/sharpcvslib/sharpcvslib/src/ICSharpCode.Tests/SharpCvsLib/Commands/CheckoutModuleCommandTest.cs,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** CheckoutModuleCommandTest.cs 5 Oct 2003 16:50:08 -0000 1.21 --- CheckoutModuleCommandTest.cs 5 Nov 2003 08:07:31 -0000 1.22 *************** *** 46,331 **** namespace ICSharpCode.SharpCvsLib.Commands { /// <summary> ! /// Test that checkout module command fetches files from the ! /// remote repository. All files are not verified, only ! /// a select few are checked. After the files are checked ! /// the entries are verified in the <code>CVS/Entries</code> ! /// folder. /// </summary> ! [TestFixture] ! public class CheckoutModuleCommandTest { ! string rootDir; ! string checkFile; ! ! private TestSettings settings = new TestSettings (); ! ! Manager manager; ! private ILog LOGGER = ! LogManager.GetLogger (typeof(CheckoutModuleCommandTest)); ! ! /// <summary> ! /// Constructor for customer db test. ! /// </summary> ! public CheckoutModuleCommandTest () { ! } ! ! /// <summary> ! /// ! /// </summary> ! [SetUp] ! public void SetUp () { ! this.rootDir = ! Path.Combine (this.settings.Config.LocalPath, ! this.settings.Config.Module); ! this.checkFile = ! Path.Combine (rootDir, this.settings.Config.TargetFile); ! this.manager = new Manager (); ! } ! ! /// <summary> ! /// Remove the local path directory that we were testing with. ! /// </summary> ! [TearDown] ! public void TearDown () { ! this.CleanTempDirectory (); ! } ! ! /// <summary> ! /// Test that a checkout with all parameters is successful. ! /// </summary> ! [Test] ! public void CheckoutTest () { ! this.Checkout (); ! ! Assertion.Assert ("Should have found the check file. file=[" + ! checkFile + "]", File.Exists (checkFile)); ! ! ICvsFile[] entries = ! manager.Fetch (rootDir, Factory.FileType.Entries); ! int foundFileEntry = 0; ! int foundDirectoryEntry = 0; ! ! foreach (ICvsFile cvsEntry in entries) { ! Entry entry = (Entry)cvsEntry; ! System.Console.WriteLine ("entry=[" + entry + "]"); ! if (entry.Name.Equals (this.settings.Config.TargetFile)) { ! foundFileEntry++; ! } ! ! if (entry.Name.Equals (this.settings.Config.TargetDirectory)) { ! foundDirectoryEntry++; ! } } - - Assertion.Assert ("Build file should have a cvs entry.", foundFileEntry == 1); - Assertion.Assert (this.settings.Config.TargetDirectory + " directory should have a cvs entry.", foundDirectoryEntry == 1); - Assertion.Assert ("Should not have a cvs directory above module path.", - !Directory.Exists (Path.Combine (this.settings.Config.LocalPath, manager.CVS))); - Assertion.Assert ("Should not have a cvs directory in the current execution path. ", - !Directory.Exists (Path.Combine (this.settings.Config.Module, manager.CVS))); - - - } - - /// <summary> - /// Test that specifying a revision produces a checkout of the specific - /// revision tag and creates a tag file in the cvs folder. - /// </summary> - [Test] - public void CheckoutRevisionTest_Revision_1 () { - this.CheckoutRevisionTest (this.settings.Config.Tag1, - this.settings.Config.Content1); - } - - /// <summary> - /// Test that specifying a revision produces a checkout of the specific - /// revision tag and creates a tag file in the cvs folder. - /// </summary> - [Test] - public void CheckoutRevisionTest_Revision_2 () { - this.CheckoutRevisionTest (this.settings.Config.Tag2, - this.settings.Config.Content2); } ! ! /// <summary> ! /// Test that specifying a revision produces a checkout of the specific ! /// revision tag and creates a tag file in the cvs folder. ! /// </summary> ! /// <param name="revision">The revision tag to checkout.</param> ! /// <param name="expectedContent">The file contents that are expected.</param> ! private void CheckoutRevisionTest (String revision, String expectedContent) { ! this.Checkout (revision, null); ! Assertion.Assert ("Should have found the check file. file=[" + ! checkFile + "]", File.Exists (checkFile)); ! ! ICvsFile[] entries = ! manager.Fetch (rootDir, Factory.FileType.Entries); ! int foundFileEntry = 0; ! int foundDirectoryEntry = 0; ! ! foreach (ICvsFile cvsEntry in entries) { ! Entry entry = (Entry)cvsEntry; ! System.Console.WriteLine ("entry=[" + entry + "]"); ! if (entry.Name.Equals (this.settings.Config.TargetFile)) { ! foundFileEntry++; ! } ! ! if (entry.Name.Equals (this.settings.Config.TargetDirectory)) { ! foundDirectoryEntry++; ! } } - - Assertion.Assert ("Build file should have a cvs entry.", foundFileEntry == 1); - Assertion.Assert (this.settings.Config.TargetDirectory + " directory should have a cvs entry.", foundDirectoryEntry == 1); - Assertion.Assert ("Should not have a cvs directory above module path.", - !Directory.Exists (Path.Combine (this.settings.Config.LocalPath, manager.CVS))); - Assertion.Assert ("Should not have a cvs directory in the current execution path. ", - !Directory.Exists (Path.Combine (this.settings.Config.Module, manager.CVS))); ! String tagFile = ! Path.Combine (Path.Combine (this.settings.Config.Module, manager.CVS), Tag.FILE_NAME); ! Assertion.Assert ("Should not have a cvs directory in the current execution path. ", ! !Directory.Exists (tagFile)); ! ! AssertFileContentsEqualString (checkFile, expectedContent); } ! /// <summary> ! /// Assert that the expected file contents match the contents actually ! /// in the given file. ! /// </summary> ! public static void AssertFileContentsEqualString (String filename, String expectedContent) { ! StreamReader reader = new StreamReader (filename); ! String actualContent = reader.ReadToEnd (); ! ! // Note the read to end method appends a carriage return (^M)/ line feed (^F) ! // to the string read so this is removed manually: ! actualContent = actualContent.Substring (0, actualContent.Length -2); ! reader.Close (); ! Assertion.AssertEquals ("Files should be equal.", ! expectedContent, ! actualContent); ! } ! ! /// <summary> ! /// Test that specifying a revision produces a checkout of the specific ! /// revision tag and creates a tag file in the cvs folder. ! /// </summary> ! [Test] ! public void CheckoutOverrideDirectoryTest () { ! this.rootDir = ! Path.Combine (this.settings.Config.LocalPath, this.settings.Config.OverrideDirectory); ! this.checkFile = ! Path.Combine (rootDir, this.settings.Config.TargetFile); ! this.Checkout (null, this.settings.Config.OverrideDirectory); ! Assertion.Assert ("Should have found the check file. file=[" + ! checkFile + "]", File.Exists (checkFile)); ! ! ICvsFile[] entries = ! manager.Fetch (rootDir, Factory.FileType.Entries); ! int foundFileEntry = 0; ! int foundDirectoryEntry = 0; ! ! foreach (ICvsFile cvsEntry in entries) { ! Entry entry = (Entry)cvsEntry; ! System.Console.WriteLine ("entry=[" + entry + "]"); ! if (entry.Name.Equals (this.settings.Config.TargetFile)) { ! foundFileEntry++; ! } ! ! if (entry.Name.Equals (this.settings.Config.TargetDirectory)) { ! foundDirectoryEntry++; ! } } - - Assertion.Assert ("Build file should have a cvs entry.", foundFileEntry == 1); - Assertion.Assert (this.settings.Config.TargetDirectory + " directory should have a cvs entry.", foundDirectoryEntry == 1); - Assertion.Assert ("Should not have a cvs directory above module path.", - !Directory.Exists (Path.Combine (this.settings.Config.LocalPath, manager.CVS))); - Assertion.Assert ("Should not have a cvs directory in the current execution path. ", - !Directory.Exists (Path.Combine (this.settings.Config.Module, manager.CVS))); ! String tagFile = ! Path.Combine (Path.Combine (this.settings.Config.Module, manager.CVS), Tag.FILE_NAME); ! Assertion.Assert ("Should not have a cvs directory and tag file in the current execution path. ", ! !Directory.Exists (tagFile)); ! } ! ! /// <summary> ! /// Check if the temporary directory exists. If it does then ! /// remove the directory. ! /// </summary> ! private void CleanTempDirectory () { ! if (Directory.Exists(this.settings.Config.LocalPath)) { ! Directory.Delete (this.settings.Config.LocalPath, true); ! } ! } ! ! /// <summary> ! /// Perform a checkout command. ! /// </summary> ! public void Checkout () { ! this.Checkout (null); } ! /// <summary> ! /// Perform a checkout command using the values in the ! /// The revision tag ! /// (if specified) is also used to select the code ! /// to checkout. ! /// </summary> ! /// <param name="revision">The specific revision of the module ! /// to checkout from the repository. If <code>null</code> ! /// is specified then the default revision, usually the ! /// <code>HEAD</code> is checked out.</param> ! /// <param name="overrideDirectory">The override directory to ! /// checkout the repository to. If <code>null</code> ! /// is specified then the directory is not overridden ! /// and the module name is used.</param> ! public void Checkout (String revision, String overrideDirectory) { ! CvsRoot root = new CvsRoot (this.settings.Config.Cvsroot); ! WorkingDirectory working = ! new WorkingDirectory (root, ! this.settings.Config.LocalPath, ! this.settings.Config.Module); ! ! System.Console.WriteLine (this.settings.Config.LocalPath); ! working.Revision = revision; ! working.OverrideDirectory = overrideDirectory; ! ! CVSServerConnection connection = new CVSServerConnection (); ! Assertion.AssertNotNull ("Should have a connection object.", connection); ! ! ICommand command = new CheckoutModuleCommand (working); ! Assertion.AssertNotNull ("Should have a command object.", command); ! ! try { ! connection.Connect (working, this.settings.Config.ValidPassword); ! } catch (AuthenticationException) { ! Assertion.Assert ("Failed to authenticate with server.", true); ! } ! command.Execute (connection); ! connection.Close (); } ! ! /// <summary> ! /// Perform a checkout command. The revision tag ! /// (if specified) is also used to select the code ! /// to checkout. ! /// </summary> ! /// <param name="revision">The specific revision of the module ! /// to checkout from the repository. If <code>null</code> ! /// is specified then the default revision, usually the ! /// <code>HEAD</code> is checked out.</param> ! public void Checkout (String revision) { ! this.Checkout (revision, null); } ! } } --- 46,331 ---- namespace ICSharpCode.SharpCvsLib.Commands { + /// <summary> + /// Test that checkout module command fetches files from the + /// remote repository. All files are not verified, only + /// a select few are checked. After the files are checked + /// the entries are verified in the <code>CVS/Entries</code> + /// folder. + /// </summary> + [TestFixture] + public class CheckoutModuleCommandTest { + string rootDir; + string checkFile; + + private TestSettings settings = new TestSettings (); + + Manager manager; + + private ILog LOGGER = + LogManager.GetLogger (typeof(CheckoutModuleCommandTest)); + /// <summary> ! /// Constructor for customer db test. /// </summary> ! public CheckoutModuleCommandTest () { ! } ! /// <summary> ! /// ! /// </summary> ! [SetUp] ! public void SetUp () { ! this.rootDir = ! Path.Combine (this.settings.Config.LocalPath, ! this.settings.Config.Module); ! this.checkFile = ! Path.Combine (rootDir, this.settings.Config.TargetFile); ! this.manager = new Manager (); ! } ! /// <summary> ! /// Remove the local path directory that we were testing with. ! /// </summary> ! [TearDown] ! public void TearDown () { ! this.CleanTempDirectory (); ! } ! ! ! /// <summary> ! /// Test that a checkout with all parameters is successful. ! /// </summary> ! [Test] ! public void CheckoutTest () { ! this.Checkout (); ! ! Assertion.Assert ("Should have found the check file. file=[" + ! checkFile + "]", File.Exists (checkFile)); ! ! ICvsFile[] entries = ! manager.Fetch (rootDir, Factory.FileType.Entries); ! int foundFileEntry = 0; ! int foundDirectoryEntry = 0; ! ! foreach (ICvsFile cvsEntry in entries) { ! Entry entry = (Entry)cvsEntry; ! System.Console.WriteLine ("entry=[" + entry + "]"); ! if (entry.Name.Equals (this.settings.Config.TargetFile)) { ! foundFileEntry++; ! } ! ! if (entry.Name.Equals (this.settings.Config.TargetDirectory)) { ! foundDirectoryEntry++; } } ! ! Assertion.Assert ("Build file should have a cvs entry.", foundFileEntry == 1); ! Assertion.Assert (this.settings.Config.TargetDirectory + " directory should have a cvs entry.", foundDirectoryEntry == 1); ! Assertion.Assert ("Should not have a cvs directory above module path.", ! !Directory.Exists (Path.Combine (this.settings.Config.LocalPath, manager.CVS))); ! Assertion.Assert ("Should not have a cvs directory in the current execution path. ", ! !Directory.Exists (Path.Combine (this.settings.Config.Module, manager.CVS))); ! ! ! } ! ! /// <summary> ! /// Test that specifying a revision produces a checkout of the specific ! /// revision tag and creates a tag file in the cvs folder. ! /// </summary> ! [Test] ! public void CheckoutRevisionTest_Revision_1 () { ! this.CheckoutRevisionTest (this.settings.Config.Tag1, ! this.settings.Config.Content1); ! } ! ! /// <summary> ! /// Test that specifying a revision produces a checkout of the specific ! /// revision tag and creates a tag file in the cvs folder. ! /// </summary> ! [Test] ! public void CheckoutRevisionTest_Revision_2 () { ! this.CheckoutRevisionTest (this.settings.Config.Tag2, ! this.settings.Config.Content2); ! } ! ! /// <summary> ! /// Test that specifying a revision produces a checkout of the specific ! /// revision tag and creates a tag file in the cvs folder. ! /// </summary> ! /// <param name="revision">The revision tag to checkout.</param> ! /// <param name="expectedContent">The file contents that are expected.</param> ! private void CheckoutRevisionTest (String revision, String expectedContent) { ! this.Checkout (revision, null); ! Assertion.Assert ("Should have found the check file. file=[" + ! checkFile + "]", File.Exists (checkFile)); ! ! ICvsFile[] entries = ! manager.Fetch (rootDir, Factory.FileType.Entries); ! int foundFileEntry = 0; ! int foundDirectoryEntry = 0; ! ! foreach (ICvsFile cvsEntry in entries) { ! Entry entry = (Entry)cvsEntry; ! System.Console.WriteLine ("entry=[" + entry + "]"); ! if (entry.Name.Equals (this.settings.Config.TargetFile)) { ! foundFileEntry++; } ! if (entry.Name.Equals (this.settings.Config.TargetDirectory)) { ! foundDirectoryEntry++; ! } } ! Assertion.Assert ("Build file should have a cvs entry.", foundFileEntry == 1); ! Assertion.Assert (this.settings.Config.TargetDirectory + " directory should have a cvs entry.", foundDirectoryEntry == 1); ! Assertion.Assert ("Should not have a cvs directory above module path.", ! !Directory.Exists (Path.Combine (this.settings.Config.LocalPath, manager.CVS))); ! Assertion.Assert ("Should not have a cvs directory in the current execution path. ", ! !Directory.Exists (Path.Combine (this.settings.Config.Module, manager.CVS))); ! String tagFile = ! Path.Combine (Path.Combine (this.settings.Config.Module, manager.CVS), Tag.FILE_NAME); ! Assertion.Assert ("Should not have a cvs directory in the current execution path. ", ! !Directory.Exists (tagFile)); ! AssertFileContentsEqualString (checkFile, expectedContent); ! } ! ! /// <summary> ! /// Assert that the expected file contents match the contents actually ! /// in the given file. ! /// </summary> ! public static void AssertFileContentsEqualString (String filename, String expectedContent) { ! StreamReader reader = new StreamReader (filename); ! String actualContent = reader.ReadToEnd (); ! ! // Note the read to end method appends a carriage return (^M)/ line feed (^F) ! // to the string read so this is removed manually: ! actualContent = actualContent.Substring (0, actualContent.Length -2); ! reader.Close (); ! Assertion.AssertEquals ("Files should be equal.", ! expectedContent, ! actualContent); ! } ! ! ! /// <summary> ! /// Test that specifying a revision produces a checkout of the specific ! /// revision tag and creates a tag file in the cvs folder. ! /// </summary> ! [Test] ! public void CheckoutOverrideDirectoryTest () { ! this.rootDir = ! Path.Combine (this.settings.Config.LocalPath, this.settings.Config.OverrideDirectory); ! this.checkFile = ! Path.Combine (rootDir, this.settings.Config.TargetFile); ! ! this.Checkout (null, this.settings.Config.OverrideDirectory); ! Assertion.Assert ("Should have found the check file. file=[" + ! checkFile + "]", File.Exists (checkFile)); ! ! ICvsFile[] entries = ! manager.Fetch (rootDir, Factory.FileType.Entries); ! int foundFileEntry = 0; ! int foundDirectoryEntry = 0; ! ! foreach (ICvsFile cvsEntry in entries) { ! Entry entry = (Entry)cvsEntry; ! System.Console.WriteLine ("entry=[" + entry + "]"); ! if (entry.Name.Equals (this.settings.Config.TargetFile)) { ! foundFileEntry++; } ! if (entry.Name.Equals (this.settings.Config.TargetDirectory)) { ! foundDirectoryEntry++; ! } } ! Assertion.Assert ("Build file should have a cvs entry.", foundFileEntry == 1); ! Assertion.Assert (this.settings.Config.TargetDirectory + " directory should have a cvs entry.", foundDirectoryEntry == 1); ! Assertion.Assert ("Should not have a cvs directory above module path.", ! !Directory.Exists (Path.Combine (this.settings.Config.LocalPath, manager.CVS))); ! Assertion.Assert ("Should not have a cvs directory in the current execution path. ", ! !Directory.Exists (Path.Combine (this.settings.Config.Module, manager.CVS))); ! String tagFile = ! Path.Combine (Path.Combine (this.settings.Config.Module, manager.CVS), Tag.FILE_NAME); ! Assertion.Assert ("Should not have a cvs directory and tag file in the current execution path. ", ! !Directory.Exists (tagFile)); ! } ! /// <summary> ! /// Check if the temporary directory exists. If it does then ! /// remove the directory. ! /// </summary> ! private void CleanTempDirectory () { ! if (Directory.Exists(this.settings.Config.LocalPath)) { ! Directory.Delete (this.settings.Config.LocalPath, true); } ! } ! ! /// <summary> ! /// Perform a checkout command. ! /// </summary> ! public void Checkout () { ! this.Checkout (null); ! } ! ! /// <summary> ! /// Perform a checkout command using the values in the ! /// The revision tag ! /// (if specified) is also used to select the code ! /// to checkout. ! /// </summary> ! /// <param name="revision">The specific revision of the module ! /// to checkout from the repository. If <code>null</code> ! /// is specified then the default revision, usually the ! /// <code>HEAD</code> is checked out.</param> ! /// <param name="overrideDirectory">The override directory to ! /// checkout the repository to. If <code>null</code> ! /// is specified then the directory is not overridden ! /// and the module name is used.</param> ! public void Checkout (String revision, String overrideDirectory) { ! CvsRoot root = new CvsRoot (this.settings.Config.Cvsroot); ! WorkingDirectory working = ! new WorkingDirectory (root, ! this.settings.Config.LocalPath, ! this.settings.Config.Module); ! ! System.Console.WriteLine (this.settings.Config.LocalPath); ! ! working.Revision = revision; ! working.OverrideDirectory = overrideDirectory; ! ! CVSServerConnection connection = new CVSServerConnection (); ! Assertion.AssertNotNull ("Should have a connection object.", connection); ! ! ICommand command = new CheckoutModuleCommand (working); ! Assertion.AssertNotNull ("Should have a command object.", command); ! ! try { ! connection.Connect (working, this.settings.Config.ValidPassword); ! } catch (AuthenticationException) { ! Assertion.Assert ("Failed to authenticate with server.", true); } ! ! command.Execute (connection); ! connection.Close (); ! } ! ! /// <summary> ! /// Perform a checkout command. The revision tag ! /// (if specified) is also used to select the code ! /// to checkout. ! /// </summary> ! /// <param name="revision">The specific revision of the module ! /// to checkout from the repository. If <code>null</code> ! /// is specified then the default revision, usually the ! /// <code>HEAD</code> is checked out.</param> ! public void Checkout (String revision) { ! this.Checkout (revision, null); } + + } } Index: UpdateCommandTest.cs =================================================================== RCS file: /cvsroot/sharpcvslib/sharpcvslib/src/ICSharpCode.Tests/SharpCvsLib/Commands/UpdateCommandTest.cs,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** UpdateCommandTest.cs 4 Oct 2003 18:42:32 -0000 1.16 --- UpdateCommandTest.cs 5 Nov 2003 08:07:33 -0000 1.17 *************** *** 45,226 **** namespace ICSharpCode.SharpCvsLib.Commands { /// <summary> ! /// Tests that if a file is removed it will be pulled back down ! /// with an update. /// </summary> ! [TestFixture] ! public class UpdateCommandTest { ! private ILog LOGGER = ! LogManager.GetLogger (typeof(CheckoutModuleCommandTest)); ! ! private TestSettings settings = new TestSettings (); ! ! String rootDir; ! String checkFile; ! String moduleDir; ! ! private Manager manager; ! /// <summary> ! /// Constructor for customer db test. ! /// </summary> ! public UpdateCommandTest () { ! } ! ! /// <summary> ! /// Checkout the sharpcvslib module so we have something ! /// to test the update command with. ! /// </summary> ! [SetUp] ! public void SetUp () { ! this.moduleDir = this.settings.Config.Module; ! this.rootDir = ! Path.Combine (this.settings.Config.LocalPath, this.moduleDir); ! this.checkFile = ! Path.Combine (rootDir, this.settings.Config.TargetFile); ! } ! /// <summary>Wrapper for the checkout command test checkout method.</summary> ! private void Checkout () { ! this.Checkout (null); ! } ! ! /// <summary>Wrapper for the checkout command test checkout method.</summary> ! private void Checkout (String revision) { ! this.Checkout (revision, null); ! } ! ! private void Checkout (String revision, String overrideDirectory) { ! this.manager = new Manager (); ! CheckoutModuleCommandTest checkout = ! new CheckoutModuleCommandTest (); ! checkout.Checkout (revision, overrideDirectory); ! } ! /// <summary> ! /// Remove the local path directory that we were testing with. ! /// </summary> ! [TearDown] ! public void TearDown () { ! this.CleanUp (); ! } ! private void CleanUp () { ! if (Directory.Exists(this.settings.Config.LocalPath)) { ! Directory.Delete (this.settings.Config.LocalPath, true); ! } } ! /// <summary> ! /// Test that the update command brings the check file back ! /// down after it is deleted. ! /// </summary> ! [Test] ! public void UpdateTest () { ! this.Checkout (); ! File.Delete (checkFile); ! ! Assertion.Assert ("File should be gone now. file=[" + checkFile + "]", !File.Exists (checkFile)); ! this.UpdateAllRecursive (rootDir); ! Assertion.Assert ("Should have found the file. file=[" + ! checkFile + "]", File.Exists (checkFile)); ! ! ICvsFile[] entries = ! this.manager.Fetch(rootDir, Factory.FileType.Entries); ! int found = 0; ! ! String[] files = ! Directory.GetFiles (rootDir); ! String[] directories = ! Directory.GetDirectories (rootDir); ! // Minus the cvs directory ! int total = files.Length + directories.Length - 1; ! Assertion.Assert ("Count of directories and files should be equal to " + ! "the entries in the CVS/Entries file. They are not. " + ! "entriesCount=[" + entries.Length + "]" + ! "files=[" + files.Length + "]" + ! "directories=[" + directories.Length + "]" + ! "total=[" + total + "]", ! entries.Length == total); ! foreach (ICvsFile cvsEntry in entries) { ! Entry entry = (Entry)cvsEntry; ! ! System.Console.WriteLine ("entry=[" + entry + "]"); ! if (entry.Name.Equals (this.settings.Config.TargetFile)) { ! found++; ! } ! } ! ! Assertion.Assert ("Build file should have a cvs entry.", found == 1); ! ! // Had some problems with an extra module directory appearing under ! // the main working folder. ! String doubleModuleDir = Path.Combine (rootDir, this.settings.Config.Module); ! Assertion.Assert ("Should not be a module directory under root folder=[" + doubleModuleDir + "]", ! !Directory.Exists (doubleModuleDir)); ! } ! ! private void UpdateAllRecursive (String rootDir, String overrideDirectory) { ! CvsRoot root = new CvsRoot (this.settings.Config.Cvsroot); ! WorkingDirectory working = ! new WorkingDirectory (root, ! this.settings.Config.LocalPath, ! this.settings.Config.Module); ! working.OverrideDirectory = overrideDirectory; ! ! CVSServerConnection connection = new CVSServerConnection (); ! Assertion.AssertNotNull ("Should have a connection object.", connection); ! ! ICommand command = new UpdateCommand2 (working); ! Assertion.AssertNotNull ("Should have a command object.", command); ! ! connection.Connect (working, this.settings.Config.ValidPassword); ! // Update all files... ! LOGGER.Debug ("Fetching all files from rootDir=[" + rootDir + "]"); ! working.FoldersToUpdate = ! this.manager.FetchFilesToUpdate (rootDir); ! ! command.Execute (connection); ! connection.Close (); ! } ! private void UpdateAllRecursive (String rootDir) { ! this.UpdateAllRecursive (rootDir, null); ! } ! ! /// <summary> ! /// Test that a directory checked out as a revision is updated ! /// successfully. ! /// </summary> ! [Test] ! public void UpdateRevisionTest () { ! this.Checkout (this.settings.Config.Tag1); ! this.UpdateAllRecursive (this.rootDir); ! ! CheckoutModuleCommandTest.AssertFileContentsEqualString (this.checkFile, this.settings.Config.Content1); } - - /// <summary> - /// Test that a directory checked out with an override directory is - /// updated correctly. - /// </summary> - [Test] - public void UpdateOverrideDirectoryTest () { - this.moduleDir = this.settings.Config.OverrideDirectory; - this.rootDir = - Path.Combine (this.settings.Config.LocalPath, this.moduleDir); - this.checkFile = - Path.Combine (rootDir, this.settings.Config.TargetFile); ! this.Checkout (null, this.settings.Config.OverrideDirectory); ! File.Delete (checkFile); ! ! Assertion.Assert ("File should be gone now. file=[" + checkFile + "]", !File.Exists (checkFile)); ! this.UpdateAllRecursive (rootDir, this.settings.Config.OverrideDirectory); ! Assertion.Assert ("Should have found the file. file=[" + ! checkFile + "]", File.Exists (checkFile)); ! } ! } } --- 45,226 ---- namespace ICSharpCode.SharpCvsLib.Commands { + /// <summary> + /// Tests that if a file is removed it will be pulled back down + /// with an update. + /// </summary> + [TestFixture] + public class UpdateCommandTest { + private ILog LOGGER = + LogManager.GetLogger (typeof(CheckoutModuleCommandTest)); + + private TestSettings settings = new TestSettings (); + + String rootDir; + String checkFile; + String moduleDir; + + private Manager manager; /// <summary> ! /// Constructor for customer db test. /// </summary> ! public UpdateCommandTest () { ! } ! /// <summary> ! /// Checkout the sharpcvslib module so we have something ! /// to test the update command with. ! /// </summary> ! [SetUp] ! public void SetUp () { ! this.moduleDir = this.settings.Config.Module; ! this.rootDir = ! Path.Combine (this.settings.Config.LocalPath, this.moduleDir); ! this.checkFile = ! Path.Combine (rootDir, this.settings.Config.TargetFile); ! } ! /// <summary>Wrapper for the checkout command test checkout method.</summary> ! private void Checkout () { ! this.Checkout (null); ! } ! /// <summary>Wrapper for the checkout command test checkout method.</summary> ! private void Checkout (String revision) { ! this.Checkout (revision, null); ! } ! ! private void Checkout (String revision, String overrideDirectory) { ! this.manager = new Manager (); ! CheckoutModuleCommandTest checkout = ! new CheckoutModuleCommandTest (); ! checkout.Checkout (revision, overrideDirectory); ! } ! ! /// <summary> ! /// Remove the local path directory that we were testing with. ! /// </summary> ! [TearDown] ! public void TearDown () { ! this.CleanUp (); ! } ! ! private void CleanUp () { ! if (Directory.Exists(this.settings.Config.LocalPath)) { ! Directory.Delete (this.settings.Config.LocalPath, true); } + } ! /// <summary> ! /// Test that the update command brings the check file back ! /// down after it is deleted. ! /// </summary> ! [Test] ! public void UpdateTest () { ! this.Checkout (); ! File.Delete (checkFile); ! Assertion.Assert ("File should be gone now. file=[" + checkFile + "]", !File.Exists (checkFile)); ! this.UpdateAllRecursive (rootDir); ! Assertion.Assert ("Should have found the file. file=[" + ! checkFile + "]", File.Exists (checkFile)); ! ICvsFile[] entries = ! this.manager.Fetch(rootDir, Factory.FileType.Entries); ! int found = 0; ! String[] files = ! Directory.GetFiles (rootDir); ! String[] directories = ! Directory.GetDirectories (rootDir); ! // Minus the cvs directory ! int total = files.Length + directories.Length - 1; ! Assertion.Assert ("Count of directories and files should be equal to " + ! "the entries in the CVS/Entries file. They are not. " + ! "entriesCount=[" + entries.Length + "]" + ! "files=[" + files.Length + "]" + ! "directories=[" + directories.Length + "]" + ! "total=[" + total + "]", ! entries.Length == total); ! foreach (ICvsFile cvsEntry in entries) { ! Entry entry = (Entry)cvsEntry; ! ! System.Console.WriteLine ("entry=[" + entry + "]"); ! if (entry.Name.Equals (this.settings.Config.TargetFile)) { ! found++; ! } } ! Assertion.Assert ("Build file should have a cvs entry.", found == 1); ! // Had some problems with an extra module directory appearing under ! // the main working folder. ! String doubleModuleDir = Path.Combine (rootDir, this.settings.Config.Module); ! Assertion.Assert ("Should not be a module directory under root folder=[" + doubleModuleDir + "]", ! !Directory.Exists (doubleModuleDir)); ! } ! ! private void UpdateAllRecursive (String rootDir, String overrideDirectory) { ! CvsRoot root = new CvsRoot (this.settings.Config.Cvsroot); ! WorkingDirectory working = ! new WorkingDirectory (root, ! this.settings.Config.LocalPath, ! this.settings.Config.Module); ! ! working.OverrideDirectory = overrideDirectory; ! ! CVSServerConnection connection = new CVSServerConnection (); ! Assertion.AssertNotNull ("Should have a connection object.", connection); ! ! ICommand command = new UpdateCommand2 (working); ! Assertion.AssertNotNull ("Should have a command object.", command); ! ! connection.Connect (working, this.settings.Config.ValidPassword); ! ! // Update all files... ! LOGGER.Debug ("Fetching all files from rootDir=[" + rootDir + "]"); ! working.FoldersToUpdate = ! this.manager.FetchFilesToUpdate (rootDir); ! ! command.Execute (connection); ! connection.Close (); ! } ! ! private void UpdateAllRecursive (String rootDir) { ! this.UpdateAllRecursive (rootDir, null); ! } ! ! /// <summary> ! /// Test that a directory checked out as a revision is updated ! /// successfully. ! /// </summary> ! [Test] ! public void UpdateRevisionTest () { ! this.Checkout (this.settings.Config.Tag1); ! this.UpdateAllRecursive (this.rootDir); ! ! CheckoutModuleCommandTest.AssertFileContentsEqualString (this.checkFile, this.settings.Config.Content1); ! } ! ! /// <summary> ! /// Test that a directory checked out with an override directory is ! /// updated correctly. ! /// </summary> ! [Test] ! public void UpdateOverrideDirectoryTest () { ! this.moduleDir = this.settings.Config.OverrideDirectory; ! this.rootDir = ! Path.Combine (this.settings.Config.LocalPath, this.moduleDir); ! this.checkFile = ! Path.Combine (rootDir, this.settings.Config.TargetFile); ! ! this.Checkout (null, this.settings.Config.OverrideDirectory); ! File.Delete (checkFile); ! ! Assertion.Assert ("File should be gone now. file=[" + checkFile + "]", !File.Exists (checkFile)); ! this.UpdateAllRecursive (rootDir, this.settings.Config.OverrideDirectory); ! Assertion.Assert ("Should have found the file. file=[" + ! checkFile + "]", File.Exists (checkFile)); ! ! } ! } } Index: UpdateCommandTestCvsnt.cs =================================================================== RCS file: /cvsroot/sharpcvslib/sharpcvslib/src/ICSharpCode.Tests/SharpCvsLib/Commands/UpdateCommandTestCvsnt.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** UpdateCommandTestCvsnt.cs 4 Oct 2003 18:42:32 -0000 1.2 --- UpdateCommandTestCvsnt.cs 5 Nov 2003 08:07:33 -0000 1.3 *************** *** 47,159 **** namespace ICSharpCode.SharpCvsLib.Commands { /// <summary> ! /// Tests that if a file is removed it will be pulled back down ! /// with an update. /// </summary> ! [TestFixture] ! public class UpdateCommandTestCvsnt { ! private ILog LOGGER = ! LogManager.GetLogger (typeof(CheckoutModuleCommandTest)); ! ! private TestSettings settings = new TestSettings (); ! private Manager manager; ! ! private const String CVSNT_CVSROOT = ! ":pserver:cv...@cv...:/usr/local/cvs"; ! private const String CVSNT_MODULE = ! "cvsnt/cvsntcpl"; - /// <summary> - /// Constructor for customer db test. - /// </summary> - public UpdateCommandTestCvsnt () { - } ! /// <summary> ! /// Checkout the sharpcvslib module so we have something ! /// to test the update command with. ! /// </summary> ! [SetUp] ! public void SetUp () { ! this.manager = new Manager (); ! } ! /// <summary>Perform an update of the repository on a directory ! /// that has not been checked out.</summary> ! [Test] ! public void UpdateNoCheckoutTest () { ! CvsRoot root = new CvsRoot (this.settings.Config.Cvsroot); ! WorkingDirectory working = ! new WorkingDirectory (root, ! this.settings.Config.LocalPath, ! CVSNT_MODULE); ! CVSServerConnection connection = new CVSServerConnection (); ! Assertion.AssertNotNull ("Should have a connection object.", connection); ! ! ICommand command = new UpdateCommand2 (working); ! Assertion.AssertNotNull ("Should have a command object.", command); ! ! connection.Connect (working, this.settings.Config.ValidPassword); ! } ! ! /// <summary>Update from a cvsnt repository. ! /// NOTE: Assumption is made the the cvsnt project is "Eating ! /// their own dogfood." (i.e. they are using cvsnt for the ! /// project sources.</summary> ! [Test] ! public void UpdateFromCvsntTest_NoCheckout () { ! this.PerformUpdate (); ! } ! ! private void PerformUpdate () { ! CvsRoot root = new CvsRoot (CVSNT_CVSROOT); ! WorkingDirectory working = ! new WorkingDirectory (root, ! this.settings.Config.LocalPath, ! CVSNT_MODULE); ! ! CVSServerConnection connection = new CVSServerConnection (); ! Assertion.AssertNotNull ("Should have a connection object.", connection); ! ! ICommand command = new UpdateCommand2 (working); ! Assertion.AssertNotNull ("Should have a command object.", command); ! connection.Connect (working, this.settings.Config.ValidPassword); ! } ! ! /// <summary>Checkout the cvsnt project and then update the project ! /// that has just been checked out.</summary> ! [Test] ! public void UpdateFromCvsntTest_Checkout () { ! Manager manager = new Manager (); ! string cvsPath = ! Path.Combine (this.settings.Config.LocalPath, CVSNT_MODULE); ! ! CvsRoot root = new CvsRoot (CVSNT_CVSROOT); ! WorkingDirectory working = ! new WorkingDirectory (root, ! this.settings.Config.LocalPath, ! CVSNT_MODULE); ! CVSServerConnection connection = new CVSServerConnection (); ! Assertion.AssertNotNull ("Should have a connection object.", connection); ! ! ICommand command = new CheckoutModuleCommand (working); ! Assertion.AssertNotNull ("Should have a command object.", command); ! ! try { ! connection.Connect (working, this.settings.Config.ValidPassword); ! } catch (AuthenticationException) { ! Assertion.Assert ("Failed to authenticate with server.", true); ! } ! command.Execute (connection); ! connection.Close (); ! ! this.PerformUpdate (); ! } ! ! } } --- 47,159 ---- namespace ICSharpCode.SharpCvsLib.Commands { + /// <summary> + /// Tests that if a file is removed it will be pulled back down + /// with an update. + /// </summary> + [TestFixture] + public class UpdateCommandTestCvsnt { + private ILog LOGGER = + LogManager.GetLogger (typeof(CheckoutModuleCommandTest)); + + private TestSettings settings = new TestSettings (); + private Manager manager; + + private const String CVSNT_CVSROOT = + ":pserver:cv...@cv...:/usr/local/cvs"; + private const String CVSNT_MODULE = + "cvsnt/cvsntcpl"; + /// <summary> ! /// Constructor for customer db test. /// </summary> ! public UpdateCommandTestCvsnt () { ! } + /// <summary> + /// Checkout the sharpcvslib module so we have something + /// to test the update command with. + /// </summary> + [SetUp] + public void SetUp () { + this.manager = new Manager (); + } ! /// <summary>Perform an update of the repository on a directory ! /// that has not been checked out.</summary> ! [Test] ! public void UpdateNoCheckoutTest () { ! CvsRoot root = new CvsRoot (this.settings.Config.Cvsroot); ! WorkingDirectory working = ! new WorkingDirectory (root, ! this.settings.Config.LocalPath, ! CVSNT_MODULE); ! CVSServerConnection connection = new CVSServerConnection (); ! Assertion.AssertNotNull ("Should have a connection object.", connection); ! ICommand command = new UpdateCommand2 (working); ! Assertion.AssertNotNull ("Should have a command object.", command); ! ! connection.Connect (working, this.settings.Config.ValidPassword); ! } ! ! /// <summary>Update from a cvsnt repository. ! /// NOTE: Assumption is made the the cvsnt project is "Eating ! /// their own dogfood." (i.e. they are using cvsnt for the ! /// project sources.</summary> ! [Test] ! public void UpdateFromCvsntTest_NoCheckout () { ! this.PerformUpdate (); ! } ! ! private void PerformUpdate () { ! CvsRoot root = new CvsRoot (CVSNT_CVSROOT); ! WorkingDirectory working = ! new WorkingDirectory (root, ! this.settings.Config.LocalPath, ! CVSNT_MODULE); ! ! CVSServerConnection connection = new CVSServerConnection (); ! Assertion.AssertNotNull ("Should have a connection object.", connection); ! ! ICommand command = new UpdateCommand2 (working); ! Assertion.AssertNotNull ("Should have a command object.", command); ! ! connection.Connect (working, this.settings.Config.ValidPassword); ! } ! ! /// <summary>Checkout the cvsnt project and then update the project ! /// that has just been checked out.</summary> ! [Test] ! public void UpdateFromCvsntTest_Checkout () { ! Manager manager = new Manager (); ! string cvsPath = ! Path.Combine (this.settings.Config.LocalPath, CVSNT_MODULE); ! ! CvsRoot root = new CvsRoot (CVSNT_CVSROOT); ! WorkingDirectory working = ! new WorkingDirectory (root, ! this.settings.Config.LocalPath, ! CVSNT_MODULE); ! ! CVSServerConnection connection = new CVSServerConnection (); ! Assertion.AssertNotNull ("Should have a connection object.", connection); ! ! ICommand command = new CheckoutModuleCommand (working); ! Assertion.AssertNotNull ("Should have a command object.", command); ! ! try { connection.Connect (working, this.settings.Config.ValidPassword); ! } catch (AuthenticationException) { ! Assertion.Assert ("Failed to authenticate with server.", true); ! } ! command.Execute (connection); ! connection.Close (); ! this.PerformUpdate (); ! } ! ! } } |