< Summary

Information
Class: OzonOrdersWeb.Controllers.ImpersonationController
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Controllers/ImpersonationController.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 10
Coverable lines: 10
Total lines: 33
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Index()100%210%
Stop()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Controllers/ImpersonationController.cs

#LineLine coverage
 1using System;
 2using Microsoft.AspNetCore.Mvc;
 3
 4namespace OzonOrdersWeb.Controllers
 5{
 6    [Route("Impersonation")]
 7    public class ImpersonationController : Controller
 8    {
 9        [HttpGet("")]
 10        public IActionResult Index()
 11        {
 12            // Redirect to a default impersonation landing inside /Impersonation so cookie is sent
 013            return Redirect("/Impersonation/Studio2/Profile/Index");
 14        }
 15
 16        [HttpGet("Stop")]
 17        public IActionResult Stop()
 18        {
 19            // Удаляем cookie с тем же Path, чтобы оно успешно удалилось в браузере
 020            var cookieOptions = new Microsoft.AspNetCore.Http.CookieOptions
 021            {
 022                Path = "/Impersonation",
 023                HttpOnly = true,
 024                Secure = true,
 025                Expires = DateTimeOffset.UnixEpoch
 026            };
 27
 028            Response.Cookies.Append("ImpersonationUserId", "", cookieOptions);
 29
 030            return Redirect("/");
 31        }
 32    }
 33}

Methods/Properties

Index()
Stop()