我正在尝试使用aws-sdk-mock的promise支持编写单元测试.我正在使用DocumentClient.
我的代码看起来像这样:
const docClient = new AWS.DynamoDB.DocumentClient();
const getItemPromise = docClient.get(params).promise();
return getItemPromise.then((data) => {
console.log('Success');
return data;
}).catch((err) => {
console.log(err);
});
Run Code Online (Sandbox Code Playgroud)
我的模拟和单元测试看起来像这样:
const AWS = require('aws-sdk-mock');
AWS.Promise = Promise.Promise;
AWS.mock('DynamoDB.DocumentClient', 'get', function (params, callback)
{
callback(null, { Item: { Key: 'test value } });
});
dynamoStore.getItems('tableName', 'idName', 'id').then((actualResponse) => {
// assertions
done();
});
Run Code Online (Sandbox Code Playgroud)
运行我的单元测试,不返回我的测试值,它实际上绕过我的模拟,并直接调用dynamoDb.我究竟做错了什么?我怎样才能正确设置模拟器?
我对API Gateway和CloudFront如何协同工作感到困惑.最终,我希望能够将自定义标头和值视为我的缓存键的一部分.我知道这可以通过白名单来完成(如果我使用的是CloudFront).
所以当我提出以下要求时:
GET/pagesRead/4 Some-Header:fizz
例如,返回'29页'
然后有一篇帖子将id 4更新为'45页'
如果我提出这个请求
GET/pagesRead/4 Some-Header:buzz
它现在将返回'45页'
但我正在使用API网关,显然它在幕后拥有自己的CloudFront.有没有办法可以配置API网关使用其"幕后"CloudFront将我的自定义标题列入白名单?这甚至需要做吗?
根据这个文档:https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html,似乎我可以在API网关中启用API缓存,它会考虑我的标题作为缓存键的一部分.
我理解正确吗?如果我想要的只是我的标题是缓存键的一部分,那么API网关中的"启用API缓存"和在API网关之上添加CloudFront实例以及在CloudFront中列入白名单之间有什么区别?
更新:
但是在GET上,我从缓存中获取过时的数据.
GET/pagesRead/4 test-header:buzz
amazon-web-services amazon-cloudfront aws-api-gateway api-gateway
我遇到了asp.net的字段验证器在我的页面占用空间的问题.我一直在搜索,文档说要使用Display ="Dynamic"来阻止验证器占用空间.但是,当我使用它时,始终显示错误消息.
我究竟做错了什么?
我只想在用户点击"保存"按钮时显示错误消息,或者丢失对文本框的关注.而且我不希望验证者占用空间.
<p>Please enter a new email:</p>
<asp:TextBox runat="server" MaxLength="255" ID="TextBoxEmail" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
ValidationGgroup="Email"
ErrorMessage="Please enter an email"
ControlToValidate="TextBoxEmail" runat="server"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator2"
ValidationGroup="Email"
ControlToValidate="TextBoxEmail"
ErrorMessage="Please enter valid email"
runat="server"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" />
<p>Please re-enter your email:</p>
<asp:TextBox runat="server" ID="TextBoxEmail2" />
<asp:LinkButton ValidationGroup="Email" runat="server" Text="Save" OnClick="linkbuttonSave_Click" />
Run Code Online (Sandbox Code Playgroud) 我正在使用以下方法发送电子邮件.我希望能够使用粗体文本格式化电子邮件.
防爆.
来自: 名称
电邮: 电邮地址
消息: 消息
我该怎么做?
protected void SendMail()
{
var fromAddress = "myemail@gmail.com";
var toAddress = "myotheremail@gmail.com";
const string fromPassword = "mypassword";
string subject = "New Email from Website";
string body = "From: " + name.Text + "\n";
body += "Email: " + email.Text + "\n";
body += "Message: \n" + message.Text + "\n";
var smtp = new System.Net.Mail.SmtpClient();
{
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress, …Run Code Online (Sandbox Code Playgroud) 有没有办法在第n组后添加分页符?
我有一个有两列的表,按状态分组.
State | Name
MA Sarah
Bob
NY Jane
TX Klein
Run Code Online (Sandbox Code Playgroud)
我想要第3组(TX),在它自己的页面上.如何在特定组后添加分页符?