public async Task 正常系_削除_全件_エラー発生試験() { var cfg = MakeTestConfig(); var s = new RecordingTableService(cfg); // テストデータはすべて消去する await s.DeleteALL(true); var data = new CsharpSamples.Generated.Models.RecordingTableModel(); data.BasicItemData.Title = "タイトルてすと"; data.BasicItemData.Body = "本文"; data.BasicItemData.Comments = "コメント"; // 個別の試験用データを設定する data.ExtensionElements.CheckA = true; data.ExtensionElements.DateA = DateTime.Now; data.ExtensionElements.NumA = Int32.MaxValue; data.ExtensionElements.StringA = "StringA"; data.ExtensionElements.TypeA = "TypeA"; // 試験用のデータを作成する // itemを生成する var x = await s.CreateItem(data); // --- --- --- // ★ APIエラーを発生させる cfg.ApiKey = cfg.ApiKey + "a"; // 対象例外を発生させる HackPleasanterApiExceptions targrteExp = null; try { // itemを生成する var x2 = await s.DeleteALL(true); } catch (HackPleasanterApiExceptions exp) { targrteExp = exp; } Assert.IsNotNull(targrteExp); Assert.AreEqual(DefaultConfiguration.RetryCount, targrteExp.InnerExceptions.Count); var tex = targrteExp.InnerExceptions[0] as ChangeItemResultsException; Assert.AreEqual("認証できませんでした。", tex.ChangeItemResults.Message); }
/// <summary> /// テストにおいて、検索対象となる情報を生成する /// </summary> /// <returns></returns> protected async Task <List <CsharpSamples.Generated.Models.RecordingTableModel> > MakeTestTargetData(int makeItems = 10) { var cfg = MakeTestConfig(); var rl = new List <CsharpSamples.Generated.Models.RecordingTableModel>(); // テストデータを作る { var s = new RecordingTableService(cfg); // テストデータはすべて消去する await s.DeleteALL(true); var BaseDataTime = CONST_BaseDataTime; for (int i = 1; i <= makeItems; i++) { var data = new CsharpSamples.Generated.Models.RecordingTableModel(); data.BasicItemData.Title = "タイトルてすと"; data.BasicItemData.Body = "本文"; data.BasicItemData.Comments = "コメント"; // テストで検索対象となるデータを作っていく data.ExtensionElements.StringA = "test" + i.ToString(); if (i % 3 == 0) { data.ExtensionElements.TypeA = "ClassC"; } else if (i % 2 == 0) { data.ExtensionElements.TypeA = "ClassB"; } else { data.ExtensionElements.TypeA = "ClassA"; } data.ExtensionElements.NumA = i; data.ExtensionElements.CheckA = i % 2 == 0; data.ExtensionElements.DateA = BaseDataTime; BaseDataTime = BaseDataTime.AddDays(1); var r = await s.CreateItem(data); Assert.IsNotNull(r); // 取得できたIDで更新 data.BasicItemData.ResultId = r.Id; rl.Add(data); } } return(rl); }
public async Task 正常系_全件物理消去() { var cfg = MakeTestConfig(); var s = new RecordingTableService(cfg); // テストデータはすべて消去する var del = await s.DeleteALL(true); var data = new CsharpSamples.Generated.Models.RecordingTableModel(); data.BasicItemData.Title = "タイトルてすと"; data.BasicItemData.Body = "本文"; data.BasicItemData.Comments = "コメント"; // 個別の試験用データを設定する data.ExtensionElements.CheckA = true; data.ExtensionElements.DateA = DateTime.Now; data.ExtensionElements.NumA = Int32.MaxValue; data.ExtensionElements.StringA = "StringA"; data.ExtensionElements.TypeA = "TypeA"; // itemを生成する var x = await s.CreateItem(data); // itemを生成する var dr = await s.DeleteByConditions(new DeleteAllItemsRequest <CsharpSamples.Generated.Models.RecordingTableModel> { All = true, PhysicalDelete = true });;; Assert.IsNotNull(dr); }
public async Task 正常系_作成更新試験() { var cfg = MakeTestConfig(); var s = new RecordingTableService(cfg); // テストデータはすべて消去する var del = await s.DeleteALL(true); var data = new CsharpSamples.Generated.Models.RecordingTableModel(); data.BasicItemData.Title = "タイトルてすと"; data.BasicItemData.Body = "本文"; data.BasicItemData.Comments = "コメント"; // 個別の試験用データを設定する data.ExtensionElements.CheckA = true; data.ExtensionElements.DateA = DateTime.Now; data.ExtensionElements.NumA = Int32.MaxValue; data.ExtensionElements.StringA = "StringA"; data.ExtensionElements.TypeA = "TypeA"; // itemを生成する var x = await s.CreateItem(data); // 情報を更新する data.ExtensionElements.CheckA = false; data.ExtensionElements.DateA = DateTime.Now; data.ExtensionElements.NumA = Int32.MinValue; data.ExtensionElements.StringA = "StringA +1"; data.ExtensionElements.TypeA = "TypeA +1"; var ts = await s.UpdateItem(x.Id, data); // 比較用に取得する var r = await s.GetItem(x.Id); Assert.AreEqual(r.ExtensionElements.CheckA_value, data.ExtensionElements.CheckA_value); // ToDo // タイムゾーンの問題を対応する /* * { * var d1 = r.ExtensionElements.DataA_value.Value; * var d2 = data.ExtensionElements.DataA_value.Value.ToJst(); * * Assert.IsTrue(d1== d2); * } */ Assert.AreEqual(r.ExtensionElements.NumA_value, data.ExtensionElements.NumA_value); Assert.AreEqual(r.ExtensionElements.StringA, data.ExtensionElements.StringA); Assert.AreEqual(r.ExtensionElements.TypeA, data.ExtensionElements.TypeA); }
/// <summary> /// テストにおいて、検索対象となる情報を生成する /// </summary> /// <returns></returns> private async Task <List <CsharpSamples.Generated.Models.RecordingTableModel> > MakeTestTargetData() { var cfg = MakeTestConfig(); var rl = new List <CsharpSamples.Generated.Models.RecordingTableModel>(); // テストデータを作る { var s = new RecordingTableService(cfg); // テストデータはすべて消去する await s.DeleteALL(true); var BaseDataTime = CONST_BaseDataTime; for (int i = 1; i <= 10; i++) { var data = new CsharpSamples.Generated.Models.RecordingTableModel(); data.BasicItemData.Title = "タイトルてすと"; data.BasicItemData.Body = "本文"; data.BasicItemData.Comments = "コメント"; // テストで検索対象となるデータを作っていく data.ExtensionElements.StringA = "test" + i.ToString(); data.ExtensionElements.TypeA = "Class" + i.ToString(); data.ExtensionElements.NumA = i; data.ExtensionElements.CheckA = i % 2 == 0; data.ExtensionElements.DateA = BaseDataTime; BaseDataTime = BaseDataTime.AddDays(1); await s.CreateItem(data); rl.Add(data); } } return(rl); }
public async Task 正常系_作成更新試験() { var cfg = MakeTestConfig(); var s = new RecordingTableService(cfg); // テストデータはすべて消去する await s.DeleteALL(true); var data = new CsharpSamples.Generated.Models.RecordingTableModel(); data.BasicItemData.Title = "タイトルてすと"; data.BasicItemData.Body = "本文"; data.BasicItemData.Comments = "コメント"; // 個別の試験用データを設定する data.ExtensionElements.CheckA = true; data.ExtensionElements.DateA = DateTime.Now; data.ExtensionElements.NumA = Int32.MaxValue; data.ExtensionElements.StringA = "StringA"; data.ExtensionElements.TypeA = "TypeA"; // テストデータを読み取る var a = AttachmentsHelper.MakeAttachmentsFromFile(Path.Combine(GetCurrentPass(), @"sky.jpg")); data.ExtensionElements.AttachmentA = new System.Collections.Generic.List <HackPleasanterApi.Client.Api.Models.ItemModel.Hash.Attachments>(); data.ExtensionElements.AttachmentA.Add(a); // itemを生成する var x = await s.CreateItem(data); // 情報を更新する data.ExtensionElements.CheckA = false; data.ExtensionElements.DateA = DateTime.Now; data.ExtensionElements.NumA = Int32.MinValue; data.ExtensionElements.StringA = "StringA +1"; data.ExtensionElements.TypeA = "TypeA +1"; var ts = await s.UpdateItem(x.Id, data); // 比較用に取得する var r = await s.GetItem(x.Id); // そのまま更新するとitemは2個に複製される Assert.AreEqual(2, r.ExtensionElements.AttachmentA.Count); // 対象のデータを取得する var rData = await s.GetAttachments(r.ExtensionElements.AttachmentA[0]); Assert.AreEqual(rData.Response.Base64, a.Base64); Assert.AreEqual(r.ExtensionElements.CheckA_value, data.ExtensionElements.CheckA_value); //ToDo : タイムフオセットは調整が必要 // Assert.AreEqual(r.ExtensionElements.DateA_value, data.ExtensionElements.DateA_value); Assert.AreEqual(r.ExtensionElements.NumA_value, data.ExtensionElements.NumA_value); Assert.AreEqual(r.ExtensionElements.StringA, data.ExtensionElements.StringA); Assert.AreEqual(r.ExtensionElements.TypeA, data.ExtensionElements.TypeA); }