Add project files.

This commit is contained in:
2025-08-18 17:11:43 +03:30
parent 807dc263be
commit e5eb10d604
3943 changed files with 223719 additions and 0 deletions
@@ -0,0 +1,99 @@
using System.Text;
using Elsa.Expressions.Models;
using Elsa.Extensions;
using Elsa.JavaScript.Contracts;
using Elsa.Testing.Shared;
using Microsoft.Extensions.DependencyInjection;
using Xunit.Abstractions;
namespace Elsa.Workflows.IntegrationTests.Scenarios.JavaScriptFunctions;
public class BytesAndStringEncodingTests
{
private readonly IJavaScriptEvaluator _evaluator;
private readonly ExpressionExecutionContext _expressionContext;
public BytesAndStringEncodingTests(ITestOutputHelper testOutputHelper)
{
var testOutputHelper1 = testOutputHelper ?? throw new ArgumentNullException(nameof(testOutputHelper));
var services = new TestApplicationBuilder(testOutputHelper1).Build();
_evaluator = services.GetRequiredService<IJavaScriptEvaluator>();
_expressionContext = new ExpressionExecutionContext(services, new MemoryRegister());
}
[Fact]
public async Task ByteArrayToString_ConvertsTo_String()
{
const string data = "Hello World!";
var bytes = Encoding.UTF8.GetBytes(data);
var script = "bytesToString(getData())";
_expressionContext.SetVariable("Data", bytes);
var result = (string)(await _evaluator.EvaluateAsync(script, typeof(string), _expressionContext))!;
Assert.Equal(data, result);
}
[Fact]
public async Task ByteArrayFromString_ConvertsTo_ByteArray()
{
const string data = "Hello World!";
var script = "bytesFromString(getData())";
_expressionContext.SetVariable("Data", data);
var result = (byte[])(await _evaluator.EvaluateAsync(script, typeof(byte[]), _expressionContext))!;
var bytes = Encoding.UTF8.GetBytes(data);
Assert.Equal(bytes, result);
}
[Fact]
public async Task ByteArrayToBase64_ConvertsTo_Base64()
{
const string data = "Hello World!";
var bytes = Encoding.UTF8.GetBytes(data);
var base64 = Convert.ToBase64String(bytes);
var script = "bytesToBase64(getData())";
_expressionContext.SetVariable("Data", bytes);
var result = (string)(await _evaluator.EvaluateAsync(script, typeof(string), _expressionContext))!;
Assert.Equal(base64, result);
}
[Fact]
public async Task ByteArrayFromBase64_ConvertsTo_ByteArray()
{
const string data = "Hello World!";
var bytes = Encoding.UTF8.GetBytes(data);
var base64 = Convert.ToBase64String(bytes);
var script = "bytesFromBase64(getData())";
_expressionContext.SetVariable("Data", base64);
var result = (byte[])(await _evaluator.EvaluateAsync(script, typeof(byte[]), _expressionContext))!;
Assert.Equal(bytes, result);
}
[Fact]
public async Task StringToBase64_ConvertsTo_Base64()
{
const string data = "Hello World!";
var bytes = Encoding.UTF8.GetBytes(data);
var base64 = Convert.ToBase64String(bytes);
var script = "stringToBase64(getData())";
_expressionContext.SetVariable("Data", data);
var result = (string)(await _evaluator.EvaluateAsync(script, typeof(string), _expressionContext))!;
Assert.Equal(base64, result);
}
[Fact]
public async Task StringFromBase64_ConvertsTo_String()
{
const string data = "Hello World!";
var bytes = Encoding.UTF8.GetBytes(data);
var base64 = Convert.ToBase64String(bytes);
var script = "stringFromBase64(getData())";
_expressionContext.SetVariable("Data", base64);
var result = (string)(await _evaluator.EvaluateAsync(script, typeof(string), _expressionContext))!;
Assert.Equal(data, result);
}
}