Skip to content

Commit 55226a6

Browse files
committed
fix test data
1 parent 2dffdee commit 55226a6

File tree

6 files changed

+49
-59
lines changed

6 files changed

+49
-59
lines changed

generator/ServiceModels/_manifest.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@
6060
"Custom\\Runtime\\TestResponses\\*.txt",
6161
"Custom\\Runtime\\EventStreams\\test_vectors\\*",
6262
"Custom\\Runtime\\TestEndpoints\\*.json",
63-
"Custom\\TestTools\\ComparerTest.json"
63+
"Custom\\TestTools\\ComparerTest.json",
64+
"..\\Services\\S3\\UnitTests\\Custom\\EmbeddedResource\\*"
6465
],
6566
"packageReferences": [
6667
{

sdk/test/Services/S3/UnitTests/AWSSDK.UnitTests.S3.NetFramework.csproj

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,7 @@
7676
</ItemGroup>
7777

7878
<ItemGroup>
79-
<EmbeddedResource Include="Custom/TestData/mapping.json" />
80-
<EmbeddedResource Include="Custom/TestData/property-aliases.json" />
79+
<EmbeddedResource Include="Custom/EmbeddedResource/*"/>
8180
</ItemGroup>
8281

83-
</Project>
82+
</Project>

sdk/test/Services/S3/UnitTests/Custom/ResponseMapperTests.cs

Lines changed: 43 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -39,66 +39,29 @@ public class ResponseMapperTests
3939
[ClassInitialize]
4040
public static void ClassInitialize(TestContext context)
4141
{
42-
// Load mapping.json from embedded resource
43-
var assembly = Assembly.GetExecutingAssembly();
44-
var assemblyName = assembly.GetName().Name;
45-
46-
// DEBUG: Print assembly and resource information
47-
Console.WriteLine($"[DEBUG] Assembly Name: {assemblyName}");
48-
Console.WriteLine($"[DEBUG] Assembly Location: {assembly.Location}");
49-
Console.WriteLine($"[DEBUG] Assembly Full Name: {assembly.FullName}");
50-
51-
// Build resource names dynamically based on current assembly
52-
var mappingResourceName = $"{assemblyName}.Custom.TestData.mapping.json";
53-
var aliasesResourceName = $"{assemblyName}.Custom.TestData.property-aliases.json";
54-
55-
Console.WriteLine($"[DEBUG] Looking for mapping resource: {mappingResourceName}");
56-
Console.WriteLine($"[DEBUG] Looking for aliases resource: {aliasesResourceName}");
57-
58-
// DEBUG: List all available embedded resources
59-
Console.WriteLine("[DEBUG] Available embedded resources in assembly:");
60-
var resourceNames = assembly.GetManifestResourceNames();
61-
if (resourceNames.Length == 0)
62-
{
63-
Console.WriteLine("[DEBUG] No embedded resources found!");
64-
}
65-
else
66-
{
67-
foreach (var resourceName in resourceNames.OrderBy(r => r))
68-
{
69-
Console.WriteLine($"[DEBUG] - {resourceName}");
70-
}
71-
}
72-
73-
// Read mapping.json
74-
using (var stream = assembly.GetManifestResourceStream(mappingResourceName))
42+
// Read mapping.json using robust resource loading (same pattern as Utils.cs)
43+
using (var stream = GetResourceStream("mapping.json"))
7544
{
7645
if (stream == null)
7746
{
78-
Console.WriteLine($"[ERROR] Could not find embedded resource: {mappingResourceName}");
79-
Console.WriteLine($"[ERROR] This suggests the embedded resources are not properly included in the assembly build.");
80-
throw new FileNotFoundException($"Could not find embedded resource: {mappingResourceName}");
47+
throw new FileNotFoundException("Could not find embedded resource: mapping.json");
8148
}
8249

83-
Console.WriteLine($"[DEBUG] Successfully found mapping resource: {mappingResourceName}");
8450
using (var reader = new StreamReader(stream))
8551
{
8652
var jsonContent = reader.ReadToEnd();
87-
Console.WriteLine($"[DEBUG] Mapping resource content length: {jsonContent.Length} characters");
8853
_mappingJson = JsonDocument.Parse(jsonContent);
8954
}
9055
}
9156

92-
// Read property-aliases.json
93-
using (var stream = assembly.GetManifestResourceStream(aliasesResourceName))
57+
// Read property-aliases.json using robust resource loading
58+
using (var stream = GetResourceStream("property-aliases.json"))
9459
{
9560
if (stream != null)
9661
{
97-
Console.WriteLine($"[DEBUG] Successfully found aliases resource: {aliasesResourceName}");
9862
using (var reader = new StreamReader(stream))
9963
{
10064
var aliasContent = reader.ReadToEnd();
101-
Console.WriteLine($"[DEBUG] Aliases resource content length: {aliasContent.Length} characters");
10265
_propertyAliasesJson = JsonDocument.Parse(aliasContent);
10366

10467
// Convert to dictionary for fast lookup
@@ -108,17 +71,51 @@ public static void ClassInitialize(TestContext context)
10871
{
10972
_propertyAliases[alias.Name] = alias.Value.GetString();
11073
}
111-
Console.WriteLine($"[DEBUG] Loaded {_propertyAliases.Count} property aliases");
11274
}
11375
}
11476
else
11577
{
116-
Console.WriteLine($"[DEBUG] Property aliases resource not found: {aliasesResourceName} (this is optional)");
11778
_propertyAliases = new Dictionary<string, string>();
11879
}
11980
}
120-
121-
Console.WriteLine("[DEBUG] ClassInitialize completed successfully");
81+
}
82+
83+
/// <summary>
84+
/// Gets embedded resource stream using partial name matching (same pattern as Utils.cs)
85+
/// </summary>
86+
private static Stream GetResourceStream(string resourceName)
87+
{
88+
Assembly assembly = Assembly.GetExecutingAssembly();
89+
var resource = FindResourceName(assembly, resourceName);
90+
if(resource == null)
91+
{
92+
assembly = Assembly.GetCallingAssembly();
93+
resource = FindResourceName(assembly, resourceName);
94+
}
95+
96+
return resource != null ? assembly.GetManifestResourceStream(resource) : null;
97+
}
98+
99+
/// <summary>
100+
/// Finds resource name using case-insensitive partial matching (same pattern as Utils.cs)
101+
/// </summary>
102+
private static string FindResourceName(Assembly assembly, string partialName)
103+
{
104+
var resources = FindResourceName(assembly, s => s.IndexOf(partialName, StringComparison.OrdinalIgnoreCase) >= 0);
105+
return resources.FirstOrDefault();
106+
}
107+
108+
/// <summary>
109+
/// Finds resource names matching predicate (same pattern as Utils.cs)
110+
/// </summary>
111+
private static IEnumerable<string> FindResourceName(Assembly assembly, Predicate<string> match)
112+
{
113+
var allResources = assembly.GetManifestResourceNames();
114+
foreach (var resource in allResources)
115+
{
116+
if (match(resource))
117+
yield return resource;
118+
}
122119
}
123120

124121
[ClassCleanup]

sdk/test/UnitTests/AWSSDK.UnitTests.NetFramework.csproj

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,7 @@
8484
<EmbeddedResource Include="Custom\Runtime\EventStreams\test_vectors\*"/>
8585
<EmbeddedResource Include="Custom\Runtime\TestEndpoints\*.json"/>
8686
<EmbeddedResource Include="Custom\TestTools\ComparerTest.json"/>
87-
88-
<!-- Add S3 test data as embedded resources -->
89-
<EmbeddedResource Include="../Services/S3/UnitTests/Custom/TestData/mapping.json">
90-
<Link>Custom/TestData/mapping.json</Link>
91-
</EmbeddedResource>
92-
<EmbeddedResource Include="../Services/S3/UnitTests/Custom/TestData/property-aliases.json">
93-
<Link>Custom/TestData/property-aliases.json</Link>
94-
</EmbeddedResource>
87+
<EmbeddedResource Include="..\Services\S3\UnitTests\Custom\EmbeddedResource\*"/>
9588
</ItemGroup>
9689

97-
</Project>
90+
</Project>

0 commit comments

Comments
 (0)