Пример #1
0
        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.UpdateItem(x.Id, data);
            }
            catch (HackPleasanterApiExceptions exp)
            {
                targrteExp = exp;
            }

            Assert.IsNotNull(targrteExp);
            Assert.AreEqual(DefaultConfiguration.RetryCount, targrteExp.InnerExceptions.Count);
            var tex = targrteExp.InnerExceptions[0] as CreateItemException;

            Assert.AreEqual("認証できませんでした。", tex.CreateItemResponse.Message);
        }
Пример #2
0
        public async Task 異常系_指定回数リトライカウントされることを確認()
        {
            // 対象例外を発生させる
            HackPleasanterApiExceptions targrteExp = null;

            try
            {
                var r = await ServiceHelperFunctions.DoReyry <int>(async() => {
                    await Task.CompletedTask;
                    throw new ApplicationException("Error");
                });
            }
            catch (HackPleasanterApiExceptions exp)
            {
                targrteExp = exp;
            }

            Assert.IsNotNull(targrteExp);
            Assert.AreEqual(DefaultConfiguration.RetryCount, targrteExp.InnerExceptions.Count);
            var tex = targrteExp.InnerExceptions[0] as ApplicationException;

            Assert.AreEqual("Error", tex.Message);
        }