public void GetNotesTest()
 {
     using (var server = new HttpServer(new RequestHandler
     {
         EstimatedMethod = "GET",
         EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/portins/1/notes", Helper.AccountId),
         ContentToSend = new StringContent(TestXmlStrings.NotesResponse, Encoding.UTF8, "application/xml")
     }))
     {
         var client = Helper.CreateClient();
         var portIn = new PortIn { Id = "1" };
         portIn.SetClient(client);
         var list = portIn.GetNotes().Result;
         if (server.Error != null) throw server.Error;
         Assert.AreEqual(2, list.Length);
         Assert.AreEqual("11299", list[0].Id);
         Assert.AreEqual("customer", list[0].UserId);
         Assert.AreEqual("Test", list[0].Description);
         Assert.AreEqual("11301", list[1].Id);
         Assert.AreEqual("customer", list[1].UserId);
         Assert.AreEqual("Test1", list[1].Description);
     }
 }
 public void AddNoteTest()
 {
     var item = new Note
     {
         UserId = "customer",
         Description = "Test"
     };
     using (var server = new HttpServer(new []{
         new RequestHandler
         {
             EstimatedMethod = "POST",
             EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/portins/1/notes", Helper.AccountId),
             EstimatedContent = Helper.ToXmlString(item),
             HeadersToSend = new Dictionary<string, string> {
                 {"Location", string.Format("/v1.0/accounts/{0}/portins/1/notes/11299", Helper.AccountId)} 
             }
         },
         new RequestHandler
         {
             EstimatedMethod = "GET",
             EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/portins/1/notes", Helper.AccountId),
             ContentToSend = new StringContent(TestXmlStrings.NotesResponse, Encoding.UTF8, "application/xml")
         }
     }))
     {
         var client = Helper.CreateClient();
         var portIn = new PortIn { Id = "1" };
         portIn.SetClient(client);
         var r = portIn.AddNote(item).Result;
         if (server.Error != null) throw server.Error;
         Assert.AreEqual("11299", r.Id);
         Assert.AreEqual("customer", r.UserId);
         Assert.AreEqual("Test", r.Description);
     }
 }
 public void DeleteTest()
 {
     using (var server = new HttpServer(new RequestHandler
     {
         EstimatedMethod = "DELETE",
         EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/portins/1", Helper.AccountId)
     }))
     {
         var client = Helper.CreateClient();
         var portIn = new PortIn { Id = "1" };
         portIn.SetClient(client);
         portIn.Delete().Wait();
         if (server.Error != null) throw server.Error;
     }
 }
 public void UpdateTest()
 {
     var data = new LnpOrderSupp
     {
         RequestedFocDate = DateTime.Parse("2014-11-18T00:00:00.000Z"),
         WirelessInfo = new []{new WirelessInfo
         {
             AccountNumber = "77129766500001",
             PinNumber = "0000"
         }}
     };
     using (var server = new HttpServer(new RequestHandler
     {
         EstimatedMethod = "PUT",
         EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/portins/1", Helper.AccountId),
         EstimatedContent = Helper.ToXmlString(data)
     }))
     {
         var client = Helper.CreateClient();
         var portIn = new PortIn { Id = "1" };
         portIn.SetClient(client);
         portIn.Update(data).Wait();
         if (server.Error != null) throw server.Error;
     }
 }
 public void GetFileMetadataTest()
 {
     using (var server = new HttpServer(new RequestHandler
     {
         EstimatedMethod = "GET",
         EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/portins/1/loas/test/metadata", Helper.AccountId),
         ContentToSend = new StringContent(TestXmlStrings.FileMetadataResponse, Encoding.UTF8, "application/xml")
     }))
     {
         var client = Helper.CreateClient();
         var portIn = new PortIn { Id = "1" };
         portIn.SetClient(client);
         var r = portIn.GetFileMetadata("test").Result;
         if (server.Error != null) throw server.Error;
         Assert.AreEqual("LOA", r.DocumentType);
     }
 }
 public void GetFilesTest()
 {
     using (var server = new HttpServer(new RequestHandler
     {
         EstimatedMethod = "GET",
         EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/portins/1/loas?metadata=true", Helper.AccountId),
         ContentToSend = new StringContent(TestXmlStrings.FileListResponse, Encoding.UTF8, "application/xml")
     }))
     {
         var client = Helper.CreateClient();
         var portIn = new PortIn { Id = "1" };
         portIn.SetClient(client);
         var list = portIn.GetFiles(true).Result;
         if (server.Error != null) throw server.Error;
         Assert.AreEqual(6, list.Length);
         Assert.AreEqual("d28b36f7-fa96-49eb-9556-a40fca49f7c6-1416231534986.txt", list[0].FileName);
         Assert.AreEqual("LOA", list[0].FileMetadata.DocumentType);
     }
 }
 public void GetFile2Test()
 {
     const string data = "hello";
     using (var server = new HttpServer(new RequestHandler
     {
         EstimatedMethod = "GET",
         EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/portins/1/loas/test", Helper.AccountId),
         ContentToSend = new StringContent(data, Encoding.UTF8, "media/type")
     }))
     {
         var client = Helper.CreateClient();
         var portIn = new PortIn { Id = "1" };
         portIn.SetClient(client);
         using (var r = portIn.GetFile("test", true).Result)
         using(var reader = new StreamReader(r.Stream, Encoding.UTF8))
         {
             Assert.AreEqual("media/type", r.MediaType);
             Assert.AreEqual(data, reader.ReadToEnd());
         }
         if (server.Error != null) throw server.Error;
     }
 }
 public void UpdateFile2Test()
 {
     const string data = "hello";
     using (var server = new HttpServer(new RequestHandler
     {
         EstimatedMethod = "PUT",
         EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/portins/1/loas/test", Helper.AccountId),
         EstimatedContent = data,
         EstimatedHeaders = new Dictionary<string, string> { { "Content-Type", "media/type" } }
     }))
     {
         var client = Helper.CreateClient();
         var portIn = new PortIn { Id = "1" };
         portIn.SetClient(client);
         portIn.UpdateFile("test", Encoding.UTF8.GetBytes(data), "media/type").Wait();
         if (server.Error != null) throw server.Error;
     }
 }
 public void CreateFile2Test()
 {
     const string data = "hello";
     using (var server = new HttpServer(new RequestHandler
     {
         EstimatedMethod = "POST",
         EstimatedPathAndQuery = string.Format("/v1.0/accounts/{0}/portins/1/loas", Helper.AccountId),
         EstimatedContent = data,
         EstimatedHeaders = new Dictionary<string, string> { { "Content-Type", "media/type" } },
         ContentToSend = Helper.CreateXmlContent(new FileResult { FileName = "test" })
     }))
     {
         var client = Helper.CreateClient();
         var portIn = new PortIn { Id = "1" };
         portIn.SetClient(client);
         var fileName = portIn.CreateFile(Encoding.UTF8.GetBytes(data), "media/type").Result;
         if (server.Error != null) throw server.Error;
         Assert.AreEqual("test", fileName);
     }
 }