static void Main(string[] args) { ServicePointManager.UseNagleAlgorithm = false; Console.WriteLine(HeadingInfo); var options = new Options(); var parser = new CommandLineParser(new CommandLineParserSettings(Console.Error)); if (!parser.ParseArguments(args, options)) { Environment.Exit(1); } var client = new RestClient { Authenticator = new HttpBasicAuthenticator(options.UserName, options.Password) }; Root root = client.GetRoot(options.Server); Organisation org = client.GetOrganisation(root); Stopwatch watch = Stopwatch.StartNew(); CreateAllRelationships(client, root, options, org); Console.WriteLine("Completed in {0} - press enter to exit.", watch.Elapsed); Console.ReadLine(); Environment.Exit(0); }
static void CreateRelationship(RestClient client, Root root, int zephyrTestCaseId, int zephyrRequirementId, Options options, Organisation org) { Script script = client.GetScriptByZephyrId(root, zephyrTestCaseId); Requirement requirement = client.GetRequirementByZephyrId(root, zephyrRequirementId); try { client.CreateRelationshipBetweenScriptAndRequirement(options.Server, org.Id, script.Id, requirement.Id); } catch (RelationshipExistsException) { Console.WriteLine(" => Relationship already exists!"); } }
static void CreateAllRelationships(RestClient client, Root root, Options options, Organisation org) { var source = new DataSource(); List<RequirementToScriptRel> data = source.GetRequirementToScriptRelationships().ToList(); for (int i = 0; i < data.Count; i++) { int zephyrTestCaseId = data[i].TestCaseId; int zephyrRequirementId = data[i].RequirementId; Console.WriteLine("{0} of {1}: Creating relationship between test case #{2} and requirement #{3}", i + 1, data.Count, zephyrTestCaseId, zephyrRequirementId); CreateRelationship(client, root, zephyrTestCaseId, zephyrRequirementId, options, org); } }