Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OWASP ZAP] レイアウトの削除 #5311

Merged
merged 5 commits into from
Mar 16, 2022

Conversation

matsuoshi
Copy link
Contributor

@matsuoshi matsuoshi commented Feb 24, 2022

概要(Overview・Refs Issue)

Owasp ZAP 自動化: 管理画面 コンテンツ管理 → レイアウト管理 → レイアウト削除
についてのテストを追加

方針(Policy)

実装に関する補足(Appendix)

削除が実際に行われないようにするため、パッチを作成しています

テスト(Test)

相談(Discussion)

まず削除用レイアウトの作成と、削除用URL(作成したレイアウトIDを含むもの)の確定の必要があったため、
beforeAll() 内にてレイアウトの作成を行っています。このあたり良いやり方があればご指摘ください。

マイナーバージョン互換性保持のための制限事項チェックリスト

  • 既存機能の仕様変更はありません
  • フックポイントの呼び出しタイミングの変更はありません
  • フックポイントのパラメータの削除・データ型の変更はありません
  • twigファイルに渡しているパラメータの削除・データ型の変更はありません
  • Serviceクラスの公開関数の、引数の削除・データ型の変更はありません
  • 入出力ファイル(CSVなど)のフォーマット変更はありません

レビュワー確認項目

  • 動作確認
  • コードレビュー
  • E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • 互換性が保持されているか
  • セキュリティ上の問題がないか
    • 権限を超えた操作が可能にならないか
    • 不要なファイルアップロードがないか
    • 外部へ公開されるファイルや機能の追加ではないか
    • テンプレートでのエスケープ漏れがないか

@codecov-commenter
Copy link

codecov-commenter commented Feb 24, 2022

Codecov Report

Merging #5311 (2d86f02) into 4.1 (710b64c) will increase coverage by 0.00%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##                4.1    #5311   +/-   ##
=========================================
  Coverage     68.42%   68.43%           
  Complexity     6159     6159           
=========================================
  Files           463      463           
  Lines         25280    25280           
=========================================
+ Hits          17298    17300    +2     
+ Misses         7982     7980    -2     
Flag Coverage Δ
E2E 57.37% <ø> (ø)
Unit 76.12% <ø> (-0.04%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...be/Service/PurchaseFlow/Processor/TaxProcessor.php 73.77% <0.00%> (+3.27%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 710b64c...2d86f02. Read the comment docs.

@matsuoshi matsuoshi force-pushed the zap_admin_content_layout_delete branch from 1d1f5c8 to c3890c8 Compare February 25, 2022 07:43
@matsuoshi matsuoshi changed the title [WIP] Owasp ZAP レイアウトの削除 [Owasp ZAP] レイアウトの削除 Feb 25, 2022
Copy link
Contributor

@nanasess nanasess left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

いくつかコメント入れましたのでご確認お願いします

await page.fill('#admin_layout_name', layoutNmae)
await Promise.all([
page.waitForNavigation(),
page.click('.c-conversionArea .btn-ec-conversion')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

以下の方が視認性が良いと思います

Suggested change
page.click('.c-conversionArea .btn-ec-conversion')
page.click('.c-conversionArea >> text=登録')

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ありがとうございます、 >> の記法知りませんでした!

@@ -0,0 +1,72 @@
import { test, expect, chromium, Page } from '@playwright/test';
import { intervalRepeater } from '../../utils/Progress';
import { ZapClient, Mode, ContextType, Risk, HttpMessage } from '../../utils/ZapClient';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

deleteButton の型をインポートします

Suggested change
import { ZapClient, Mode, ContextType, Risk, HttpMessage } from '../../utils/ZapClient';
import { ZapClient, Mode, ContextType, Risk, HttpMessage, Locator } from '../../utils/ZapClient';


test.describe.serial('レイアウト管理>削除のテスト', () => {
let page: Page;
let deleteButton = null
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

型指定した方がよさそうです

Suggested change
let deleteButton = null
let deleteButton: Locator;

let message: HttpMessage;

test('HttpMessage を取得します', async () => {
const messages = await zapClient.getMessages(url, await zapClient.getNumberOfMessages(url), 1);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

await zapClient.getLastMessage(url) で良さそうです

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

こちら、最後に一覧ベージにGETアクセスしていたので getLastMessage() では取得できないようで、いったんこのままにしています

@matsuoshi
Copy link
Contributor Author

@nanasess コメントありがとうございます、ご指摘反映しました

@chihiro-adachi chihiro-adachi changed the title [Owasp ZAP] レイアウトの削除 [OWASP ZAP] レイアウトの削除 Mar 2, 2022
@carkn
Copy link
Contributor

carkn commented Mar 11, 2022

@matsuoshi
コンフリクトを解消いただいてもよろしいでしょうか。
.github/workflows/penetration-test.yml

@kiy0taka kiy0taka merged commit d1926fe into EC-CUBE:4.1 Mar 16, 2022
@chihiro-adachi chihiro-adachi added this to the 4.1.3 milestone Apr 1, 2022
@Yangsin Yangsin modified the milestones: 4.1.3, 4.2.0 Apr 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants