public string GetMyMylistList() { List <MylistInfo> mylist_info_list = niconico_network_.GetMylistInfoListFromMypage(); StringBuilder buff = new StringBuilder(); for (int i = 0; i < mylist_info_list.Count; ++i) { buff.Append(mylist_info_list[i].mylist_id).Append("\t"); if (mylist_info_list[i].is_public) { buff.Append("公開\t"); } else { buff.Append("非公開\t"); } buff.Append(mylist_info_list[i].title).Append("\t").Append(mylist_info_list[i].description).Append("\r\n"); } return(buff.ToString()); }
public void MylistTest() { int wait_millisecond = int.Parse(TestUtility.TestData[TestUtility.KEY_ACCESS_WAIT_MILLISECONDS]); string timestamp = DateTime.Now.ToString("yyyyMMddHHmmssfff"); string video_id1 = "sm9"; string video_id2 = "sm1097445"; // {"id":(?<mylist_id>\d+),"status":"ok"} Regex mylist_id_regex = new Regex("{\"id\":(?<mylist_id>\\d+),\"status\":\"ok\"}"); TestUtility.EnsureLogin(network_); string mylist_id1 = null; string mylist_id2 = null; string mylist_id3 = null; string token = null; bool test_succeeded = false; try { // () // -> (mylist1()) TestUtility.Message("Running MylistTest - Create new mylist"); string mylist_title1 = "まいりすと_1_" + timestamp; string result = network_.MakeNewMylistGroup(mylist_title1); TestUtility.Message(result); Assert.That(result, Text.Contains("\"status\":\"ok\""), "MylistTest1-1"); mylist_id1 = mylist_id_regex.Match(result).Groups["mylist_id"].Value; string str = network_.GetMylistHtml(mylist_id1, true); Assert.That(str, Text.Contains(mylist_title1), "MylistTest1-2"); TestUtility.Wait(5); // (mylist1()) // -> (mylist1() mylist2()) TestUtility.Message("Running MylistTest - Create new mylist with token"); string mylist_title2 = "マイリスト_2_" + timestamp; string my_mylist_page = network_.GetMylistPageFromMyPage(); token = Regex.Match(my_mylist_page, "NicoAPI.token = \"([-0-9a-f]+)\";").Groups[1].Value; result = network_.MakeNewMylistGroup(mylist_title2, token); TestUtility.Message(result); Assert.That(result, Text.Contains("\"status\":\"ok\""), "MylistTest2-1"); mylist_id2 = mylist_id_regex.Match(result).Groups["mylist_id"].Value; str = network_.GetMylistHtml(mylist_id2, true); Assert.That(str, Text.Contains(mylist_title2), "MylistTest2-2"); TestUtility.Wait(5); // (mylist1() mylist2()) // -> (*mylist1() mylist2()) TestUtility.Message("Running MylistTest - Update mylist information"); bool mylist_visibility1 = false; mylist_title1 = mylist_title1 + "_mod"; string mylist_description1 = Guid.NewGuid().ToString() + "テスト"; int mylist_order1 = 16; int mylist_color1 = 3; result = network_.UpdateMylistGroup(mylist_id1, mylist_visibility1, mylist_title1, mylist_description1, mylist_order1, mylist_color1); TestUtility.Message(result); Assert.That(result, Is.EqualTo("{\"status\":\"ok\"}"), "MylistTest3-1"); str = network_.GetMylistHtml(mylist_id1, true); Assert.That(str, Text.Contains(mylist_description1), "MylistTest3-2"); TestUtility.Wait(5); // (*mylist1() mylist2()) // -> (*mylist1() *mylist2()) TestUtility.Message("Running MylistTest - Update mylist information with token"); bool mylist_visibility2 = false; mylist_title2 = mylist_title2 + "_mod"; string mylist_description2 = Guid.NewGuid().ToString() + "テスト"; int mylist_order2 = 15; int mylist_color2 = 2; result = network_.UpdateMylistGroup(mylist_id2, mylist_visibility2, mylist_title2, mylist_description2, mylist_order2, mylist_color2, token); TestUtility.Message(result); Assert.That(result, Is.EqualTo("{\"status\":\"ok\"}"), "MylistTest4-1"); str = network_.GetMylistHtml(mylist_id2, true); Assert.That(str, Text.Contains(mylist_description2), "MylistTest4-2"); TestUtility.Wait(5); // (*mylist1() *mylist2()) // -> (*mylist1() *mylist2() *mylist3()) TestUtility.Message("Running MylistTest - Create mylist with mylist information"); bool mylist_visibility3 = false; string mylist_title3 = "᧠᧡᧢᧣᧥᧥᧼_3_" + timestamp; string mylist_description3 = Guid.NewGuid().ToString() + "テスト"; int mylist_order3 = 17; int mylist_color3 = 4; result = network_.MakeNewAndUpdateMylistGroup(mylist_visibility3, mylist_title3, mylist_description3, mylist_order3, mylist_color3, out mylist_id3); TestUtility.Message(result); Assert.That(result, Text.Contains("\"status\":\"ok\""), "MylistTest5-1"); str = network_.GetMylistHtml(mylist_id3, true); Assert.That(str, Text.Contains(mylist_description3), "MylistTest5-2"); TestUtility.Wait(5); // (*mylist1() *mylist2() *mylist3()) // -> (*mylist1(video1) *mylist2() *mylist3()) TestUtility.Message("Running MylistTest - Add video to mylist"); result = network_.AddMylist(mylist_id1, video_id1); TestUtility.Message(result); Assert.That(result, Is.EqualTo("{\"status\":\"ok\"}"), "MylistTest6-1"); str = network_.GetMylistHtml(mylist_id1, true); Assert.That(str, Text.Contains(video_id1), "MylistTest6-2"); TestUtility.Wait(5); // (*mylist1(video1) *mylist2() *mylist3()) // -> (*mylist1(video1,video2) *mylist2() *mylist3()) TestUtility.Message("Running MylistTest - Add video to mylist with token"); result = network_.AddMylist(mylist_id1, video_id2); TestUtility.Message(result); Assert.That(result, Is.EqualTo("{\"status\":\"ok\"}"), "MylistTest7-1"); str = network_.GetMylistHtml(mylist_id1, true); Assert.That(str, Text.Contains(video_id2), "MylistTest7-2"); TestUtility.Wait(5); // (*mylist1(video1,video2) *mylist2() *mylist3()) // -> (*mylist1(*video1,*video2) *mylist2() *mylist3()) TestUtility.Message("Running MylistTest - Update description of videos in mylist"); List <string> video_id_list = new List <string>(); video_id_list.Add(video_id1); video_id_list.Add(video_id2); List <string> description_list = new List <string>(); string video_description1 = Guid.NewGuid().ToString(); string video_description2 = Guid.NewGuid().ToString(); description_list.Add(video_description1); description_list.Add(video_description2); network_.UpdateMylistDescription(mylist_id1, video_id_list, description_list, wait_millisecond); str = network_.GetMylistHtml(mylist_id1, true); Assert.That(str, Text.Contains(video_description1), "MylistTest8-1"); Assert.That(str, Text.Contains(video_description2), "MylistTest8-2"); TestUtility.Wait(5); // (*mylist1(*video1,*video2) *mylist2() *mylist3()) // -> (*mylist1(**video1,**video2) *mylist2() *mylist3()) TestUtility.Message("Running MylistTest - Update description of videos in mylist with delegate"); description_list = new List <string>(); video_description1 = Guid.NewGuid().ToString(); video_description2 = Guid.NewGuid().ToString(); description_list.Add(video_description1); description_list.Add(video_description2); NicoNetwork.NetworkWaitDelegate on_wait = delegate(string message, int current, int total) { TestUtility.Message("{0}({1}/{2})", message, current, total); }; network_.UpdateMylistDescription(mylist_id1, video_id_list, description_list, on_wait); str = network_.GetMylistHtml(mylist_id1, true); Assert.That(str, Text.Contains(video_description1), "MylistTest9-1"); Assert.That(str, Text.Contains(video_description2), "MylistTest9-2"); TestUtility.Wait(5); // (*mylist1(*video1,*video2) *mylist2() *mylist3()) // -> (*mylist1(**video1,**video2) *mylist2() *mylist3()) TestUtility.Message("Running MylistTest - Add same video."); try { result = network_.AddMylist(mylist_id1, video_id1); TestUtility.Message(result); Assert.Fail("MylistTest10-1"); } catch (NiconicoAddingMylistExistException e) { TestUtility.Message(e.ToString()); } TestUtility.Wait(5); TestUtility.Message("Running MylistTest - Fetch my mylist information."); List <MylistInfo> mylist_info_list = network_.GetMylistInfoListFromMypage(); // mylist1, mylist2, mylist3, mylist_id Assert.That(mylist_info_list.Count, Is.GreaterThanOrEqualTo(4), "MylistTest10-1"); MylistInfo mylist_info1 = mylist_info_list.Find(delegate(MylistInfo mi) { return(mi.mylist_id == mylist_id1); }); Assert.That(mylist_info1, Is.Not.Null, "MylistTest10-2"); Assert.That(mylist_info1.description, Is.EqualTo(mylist_description1), "MylistTest10-3"); Assert.That(mylist_info1.is_public, Is.EqualTo(mylist_visibility1), "MylistTest10-4"); //TODO Assert.That(mylist_info1.number_of_item, Is.EqualTo(2), "MylistTest10-5"); Assert.That(mylist_info1.title, Is.EqualTo(mylist_title1), "MylistTest10-6"); MylistInfo mylist_info2 = mylist_info_list.Find(delegate(MylistInfo mi) { return(mi.mylist_id == mylist_id2); }); Assert.That(mylist_info2, Is.Not.Null, "MylistTest10-2"); Assert.That(mylist_info2.description, Is.EqualTo(mylist_description2), "MylistTest10-7"); Assert.That(mylist_info2.is_public, Is.EqualTo(mylist_visibility2), "MylistTest10-8"); //TODO Assert.That(mylist_info2.number_of_item, Is.EqualTo(0), "MylistTest10-9"); Assert.That(mylist_info2.title, Is.EqualTo(mylist_title2), "MylistTest10-10"); MylistInfo mylist_info3 = mylist_info_list.Find(delegate(MylistInfo mi) { return(mi.mylist_id == mylist_id3); }); Assert.That(mylist_info3, Is.Not.Null, "MylistTest10-11"); Assert.That(mylist_info3.description, Is.EqualTo(mylist_description3), "MylistTest10-12"); Assert.That(mylist_info3.is_public, Is.EqualTo(mylist_visibility3), "MylistTest10-13"); //TODO Assert.That(mylist_info3.number_of_item, Is.EqualTo(0), "MylistTest10-14"); Assert.That(mylist_info3.title, Is.EqualTo(mylist_title3), "MylistTest10-15"); // TODO Move video. // (*mylist1(**video1,**video2) *mylist2() *mylist3()) // -> (*mylist1(**video2) *mylist2(**video1) *mylist3()) // TODO Copy video. // (*mylist1(**video2) *mylist2(**video1) *mylist3()) // -> (*mylist1(**video2) *mylist2(**video1, **video2) *mylist3()) // TODO Delete video. // (*mylist1(**video2) *mylist2(**video1, **video2) *mylist3()) // -> (*mylist1() *mylist2(**video1, **video2) *mylist3()) test_succeeded = true; } finally { bool delete_succeeded = true; if (token == null) { string my_mylist_page = network_.GetMylistPageFromMyPage(); token = Regex.Match(my_mylist_page, "NicoAPI.token = \"([-0-9a-f]+)\";").Groups[1].Value; } if (!string.IsNullOrEmpty(mylist_id1)) { // (*mylist1() *mylist2(**video1, **video2) *mylist3()) // -> (*mylist2(**video1, **video2) *mylist3()) try { TestUtility.Wait(5); TestUtility.Message("Running MylistTest - Delete mylist1"); string result = RemoveMylistGroup(network_, mylist_id1, token); TestUtility.Message(result); Assert.That(result, Text.Contains("\"status\":\"ok\""), "MylistTestI-1"); } catch (Exception e) { delete_succeeded = false; TestUtility.Message(e.ToString()); } } if (!string.IsNullOrEmpty(mylist_id2)) { // (*mylist2(**video1, **video2) *mylist3()) // -> (*mylist3()) try { TestUtility.Wait(5); TestUtility.Message("Running MylistTest - Delete mylist2"); string result = RemoveMylistGroup(network_, mylist_id2, token); TestUtility.Message(result); Assert.That(result, Text.Contains("\"status\":\"ok\""), "MylistTestII-1"); } catch (Exception e) { delete_succeeded = false; TestUtility.Message(e.ToString()); } } if (!string.IsNullOrEmpty(mylist_id3)) { // (*mylist3()) // -> () try { TestUtility.Wait(5); TestUtility.Message("Running MylistTest - Delete mylist3"); string result = RemoveMylistGroup(network_, mylist_id3, token); TestUtility.Message(result); Assert.That(result, Text.Contains("\"status\":\"ok\""), "MylistTestIII-1"); } catch (Exception e) { delete_succeeded = false; TestUtility.Message(e.ToString()); } } if (test_succeeded && !delete_succeeded) { Assert.Fail("MylistTest delete"); } } }