Skip to content

Commit 64e4fc5

Browse files
committed
Add 'Application Name' connection string option to the tests.
1 parent 2f95bb2 commit 64e4fc5

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

tests/MySqlConnector.Tests/Metrics/ConnectionsUsageTests.cs

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@ namespace MySqlConnector.Tests.Metrics;
55
public class ConnectionsUsageTests : MetricsTestsBase
66
{
77
[Theory(Skip = MetricsSkip)]
8-
[InlineData("DataSource|true|")]
9-
[InlineData("DataSource|true|metrics-test")]
10-
[InlineData("Plain|true")]
8+
[InlineData("DataSource|true||")]
9+
[InlineData("DataSource|true||app-name")]
10+
[InlineData("DataSource|true|pool-name|")]
11+
[InlineData("DataSource|true|pool-name|app-name")]
12+
[InlineData("Plain|true|")]
13+
[InlineData("Plain|true|app-name")]
1114
public void ConnectionsWithPoolsHaveMetrics(string connectionCreatorSpec)
1215
{
1316
using var connectionCreator = CreateConnectionCreator(connectionCreatorSpec, CreateConnectionStringBuilder());
@@ -60,9 +63,12 @@ public void ConnectionsWithPoolsHaveMetrics(string connectionCreatorSpec)
6063
}
6164

6265
[Theory(Skip = MetricsSkip)]
63-
[InlineData("DataSource|false|")]
64-
[InlineData("DataSource|false|metrics-test")]
65-
[InlineData("Plain|false")]
66+
[InlineData("DataSource|false||")]
67+
[InlineData("DataSource|false||app-name")]
68+
[InlineData("DataSource|false|pool-name|")]
69+
[InlineData("DataSource|false|pool-name|app-name")]
70+
[InlineData("Plain|false|")]
71+
[InlineData("Plain|false|app-name")]
6672
public void ConnectionsWithoutPoolsHaveNoMetrics(string connectionCreatorSpec)
6773
{
6874
using var connectionCreator = CreateConnectionCreator(connectionCreatorSpec, CreateConnectionStringBuilder());
@@ -172,8 +178,8 @@ private IConnectionCreator CreateConnectionCreator(string spec, MySqlConnectionS
172178
var parts = spec.Split('|');
173179
return parts[0] switch
174180
{
175-
"DataSource" => new DataSourceConnectionCreator(bool.Parse(parts[1]), parts[2] == "" ? null : parts[2], connectionStringBuilder),
176-
"Plain" => new PlainConnectionCreator(bool.Parse(parts[1]), connectionStringBuilder),
181+
"DataSource" => new DataSourceConnectionCreator(bool.Parse(parts[1]), parts[2] == "" ? null : parts[2], parts[3] == "" ? null : parts[3], connectionStringBuilder),
182+
"Plain" => new PlainConnectionCreator(bool.Parse(parts[1]), parts[2] == "" ? null : parts[2], connectionStringBuilder),
177183
_ => throw new NotSupportedException(),
178184
};
179185
}

tests/MySqlConnector.Tests/Metrics/IConnectionCreator.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ public interface IConnectionCreator : IDisposable
1010

1111
internal sealed class DataSourceConnectionCreator : IConnectionCreator
1212
{
13-
public DataSourceConnectionCreator(bool usePooling, string? poolName, MySqlConnectionStringBuilder connectionStringBuilder)
13+
public DataSourceConnectionCreator(bool usePooling, string? poolName, string? applicationName, MySqlConnectionStringBuilder connectionStringBuilder)
1414
{
1515
connectionStringBuilder.Pooling = usePooling;
16+
connectionStringBuilder.ApplicationName = applicationName;
1617
m_dataSource = new MySqlDataSourceBuilder(connectionStringBuilder.ConnectionString)
1718
.UseName(poolName)
1819
.Build();
@@ -28,9 +29,10 @@ public DataSourceConnectionCreator(bool usePooling, string? poolName, MySqlConne
2829

2930
internal sealed class PlainConnectionCreator : IConnectionCreator
3031
{
31-
public PlainConnectionCreator(bool usePooling, MySqlConnectionStringBuilder connectionStringBuilder)
32+
public PlainConnectionCreator(bool usePooling, string? applicationName, MySqlConnectionStringBuilder connectionStringBuilder)
3233
{
3334
connectionStringBuilder.Pooling = usePooling;
35+
connectionStringBuilder.ApplicationName = applicationName;
3436
m_connectionString = connectionStringBuilder.ConnectionString;
3537
PoolName = connectionStringBuilder.GetConnectionString(includePassword: false);
3638
}

0 commit comments

Comments
 (0)