/Source/HydroDesktop.WebServices.Tests/WaterOneFlowClientTest.cs

# · C# · 154 lines · 131 code · 18 blank · 5 comment · 0 complexity · 71ef6d5a060bfd39c338b653a2893102 MD5 · raw file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using NUnit.Framework;
  6. using HydroDesktop.WebServices;
  7. using HydroDesktop.WebServices.WaterOneFlow;
  8. using HydroDesktop.Interfaces.ObjectModel;
  9. namespace HydroDesktop.WebServices.Tests
  10. {
  11. [Ignore] // Set Ignore because this tests executes too long with timeout exceptions
  12. [TestFixture]
  13. public class HisCentralTest
  14. {
  15. [Test]
  16. [ExpectedException]
  17. public void TestInvalidURL()
  18. {
  19. string badURL = @"http://example.com";
  20. WaterOneFlowClient client = new WaterOneFlowClient(badURL);
  21. }
  22. [Test]
  23. public void TestValidURL()
  24. {
  25. string goodURL = @"http://his.crwr.utexas.edu/TXEvap/cuahsi_1_0.asmx";
  26. WaterOneFlowClient client = new WaterOneFlowClient(goodURL);
  27. IList<Site> sites = client.GetSites();
  28. }
  29. [Test]
  30. public void TestLittleBearRiver_11()
  31. {
  32. string url = @"http://water.sdsc.edu/lbrsdsc/cuahsi_1_1.asmx";
  33. WaterOneFlowClient client = new WaterOneFlowClient(url);
  34. IList<Site> sites = client.GetSites();
  35. IList<SeriesMetadata> siteInfoList = client.GetSiteInfo(sites[0].Code);
  36. IList<Series> series = client.GetValues(siteInfoList[0].Site.Code, siteInfoList[0].Variable.Code, DateTime.MinValue, DateTime.Now);
  37. Assert.IsNotNull(series);
  38. Assert.Greater(series.Count, 0);
  39. Assert.AreNotEqual(series[0].Source.ToString(), "unknown");
  40. Assert.AreNotEqual(series[0].Method.ToString(), "unknown");
  41. }
  42. [Test]
  43. public void TestTCOON_11()
  44. {
  45. string url = @"http://his.crwr.utexas.edu/tcoonts/tcoon.asmx";
  46. WaterOneFlowClient client = new WaterOneFlowClient(url);
  47. IList<Site> sites = client.GetSites();
  48. IList<SeriesMetadata> seriesList = client.GetSiteInfo(sites[0].Code);
  49. //IList<Series> downloadedData = client.GetValues(seriesList[0].Site.Code, seriesList[0].Variable.Code, DateTime.MinValue, DateTime.Now);
  50. //Assert.IsNotNull(downloadedData);
  51. //Assert.Greater(downloadedData.Count, 0);
  52. //Assert.AreNotEqual(downloadedData[0].Source.ToString(), "unknown");
  53. //Assert.AreNotEqual(downloadedData[0].Method.ToString(), "unknown");
  54. }
  55. [Test]
  56. [Ignore("appears to be down")]
  57. public void TestCIMSservice()
  58. {
  59. string url = @"http://cbe.cae.drexel.edu/CIMS/cuahsi_1_1.asmx";
  60. string siteCode = "CIMS:EE3.4";
  61. string variableCode = "CIMS:NO3F";
  62. WaterOneFlowClient client = new WaterOneFlowClient(url);
  63. IList<Series> series = client.GetValues(siteCode, variableCode, DateTime.Now.AddYears(-30), DateTime.Now);
  64. Assert.IsNotNull(series);
  65. Assert.Greater(series.Count, 0);
  66. Assert.AreNotEqual(series[0].Source.ToString(), "unknown");
  67. Assert.AreNotEqual(series[0].Method.ToString(), "unknown");
  68. }
  69. [Test]
  70. public void TestBaltimoreGW_10()
  71. {
  72. string url = @"http://his09.umbc.edu/BaltGW/cuahsi_1_0.asmx";
  73. string siteCode = "BaltimoreGW:WOLDEAMANUEL";
  74. string variableCode = "BaltimoreGW:WATERASL";
  75. DateTime beginDate = new DateTime(2000, 1, 1);
  76. DateTime endDate = DateTime.Now;
  77. WaterOneFlowClient client = new WaterOneFlowClient(url);
  78. IList<Series> series = client.GetValues(siteCode, variableCode, beginDate, endDate);
  79. Assert.IsNotNull(series);
  80. Assert.Greater(series.Count, 0);
  81. Assert.AreNotEqual(series[0].Source.ToString(), "unknown");
  82. Assert.AreNotEqual(series[0].Method.ToString(), "unknown");
  83. }
  84. [Test]
  85. public void TestLittleBearRiver_10()
  86. {
  87. string url = @"http://icewater.usu.edu/LittleBearRiver/cuahsi_1_0.asmx";
  88. WaterOneFlowClient client = new WaterOneFlowClient(url);
  89. IList<Site> sites = client.GetSites();
  90. IList<SeriesMetadata> seriesList = client.GetSiteInfo(sites[0].Code);
  91. IList<Series> downloadedData = client.GetValues(seriesList[0].Site.Code, seriesList[0].Variable.Code, DateTime.MinValue, DateTime.Now);
  92. Assert.IsNotNull(seriesList);
  93. Assert.Greater(seriesList.Count, 0);
  94. Assert.AreNotEqual(seriesList[0].Source.ToString(), "unknown");
  95. Assert.AreNotEqual(seriesList[0].Method.ToString(), "unknown");
  96. }
  97. [Test]
  98. public void TestCRWR_10()
  99. {
  100. string url = @"http://his.crwr.utexas.edu/tcoonts/tcoon.asmx";
  101. WaterOneFlowClient client = new WaterOneFlowClient(url);
  102. IList<Site> sites = client.GetSites();
  103. Assert.Greater(sites.Count, 0);
  104. }
  105. [Test]
  106. public void TestNWISDV_10()
  107. {
  108. string url = @"http://river.sdsc.edu/wateroneflow/NWIS/Data.asmx";
  109. string siteCode= "NWISDV:13069500";
  110. string variableCode = "NWISDV:00060/DataType=Average";
  111. DateTime start= new DateTime(2010, 1, 1);
  112. DateTime end= new DateTime(2011, 1, 1);
  113. WaterOneFlowClient client = new WaterOneFlowClient(url);
  114. IList<Series> seriesList = client.GetValues(siteCode, variableCode, start, end);
  115. Assert.Greater(seriesList.Count, 0);
  116. Assert.Greater(seriesList[0].DataValueList.Count, 0);
  117. }
  118. [Test]
  119. public void TestSeriesWithSamples()
  120. {
  121. string url = @"http://water.sdsc.edu/lbrsdsc/cuahsi_1_1.asmx";
  122. WaterOneFlowClient client = new WaterOneFlowClient(url);
  123. string siteCode = "LBR11:USU-LBR-Paradise";
  124. string variableCode = "LBR11:USU39";
  125. IList<Series> series = client.GetValues(siteCode, variableCode, DateTime.MinValue, DateTime.Now);
  126. Assert.IsNotNull(series);
  127. Assert.Greater(series.Count, 0);
  128. Assert.AreNotEqual(series[0].Source.ToString(), "unknown");
  129. Assert.AreNotEqual(series[0].Method.ToString(), "unknown");
  130. }
  131. [Test]
  132. public void TestSeriesWithOffset()
  133. {
  134. }
  135. }
  136. }