Skv.cs
2.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/* Skatteverkets plugins
(C) Skatteverket Svenska STATEN!!!
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.VisualStudio.TestTools.WebTesting;
using System.ComponentModel;
using System.Text.RegularExpressions;
namespace LIL_VSTT_Plugins
{
[DisplayName("Validera Header")]
[Description("(C) Mårten\r\nValiderar att en header har ett visst värde i svaret.")]
public class ValidateHeader : ValidationRule
{
[DisplayName("Header Namn"), DefaultValue(""), Description("Namnet på headern i svaret")]
public string HeaderName { get; set; }
[DisplayName("Värde"), DefaultValue(""), Description("Värdet som headern ska ha")]
public string HeaderValue { get; set; }
public override void Validate(object sender, ValidationEventArgs e)
{
e.IsValid = false;
e.Message = "Default triggades. False! Check the code!!";
if (e.Response.Headers[HeaderName] == HeaderValue)
{
e.IsValid = true;
e.Message = "Hittade header " + HeaderName + " med värde " + HeaderValue;
} else
{
e.IsValid = false;
e.Message = "Hittande ingen header med namnet " + HeaderName + " och värdet " + HeaderValue;
}
}
}
[DisplayName("Validate Response URL")]
[Description("(C) Mårten\r\nValiderar att en Response URL har ett visst värde eller inte.")]
public class ValidateResponseURL : ValidationRule
{
Regex rxRegExp = null;
[DisplayName("Regular expression"), DefaultValue(""), Description("Uttrycket som ska matcha Response URL")]
public string strRegExp { get; set; }
[DisplayName("Pass if found"), DefaultValue(false), Description("Om uttrycket matchar ska testet failas eller inte?")]
public bool boolPassIfFound { get; set; }
public override void Validate(object sender, ValidationEventArgs e)
{
e.IsValid = false;
e.Message = "Default triggades. False! Check the code!!";
if (rxRegExp == null)
{
rxRegExp = new Regex(strRegExp);
}
if (rxRegExp.IsMatch(e.Response.ResponseUri.AbsoluteUri))
{
e.IsValid = boolPassIfFound;
e.Message = "" + e.Response.ResponseUri.AbsoluteUri + " matchade uttrycket!";
}
else
{
e.IsValid = !boolPassIfFound;
e.Message = "" + e.Response.ResponseUri.AbsoluteUri + " matchade inte uttrycket!";
}
}
}
}