@@ -2,6 +2,8 @@ package common
22
33import (
44 "encoding/hex"
5+ "os"
6+ "path/filepath"
57 "testing"
68
79 "github.com/stretchr/testify/require"
@@ -18,9 +20,12 @@ func mustBytesFromHex(hexValue string) []byte {
1820 return bytes
1921}
2022
23+ // Measurements V1 (legacy) JSON (from https://github.com/flashbots/cvm-reverse-proxy/blob/837588b9f87ee49d1bb6dca4712a1c2844eb1ecc/measurements.json)
24+ var measurementsV1JSON = []byte (`{"azure-tdx-example":{"11":{"expected":"efa43e0beff151b0f251c4abf48152382b1452b4414dbd737b4127de05ca31f7"},"12":{"expected":"0000000000000000000000000000000000000000000000000000000000000000"},"13":{"expected":"0000000000000000000000000000000000000000000000000000000000000000"},"15":{"expected":"0000000000000000000000000000000000000000000000000000000000000000"},"4":{"expected":"ea92ff762767eae6316794f1641c485d4846bc2b9df2eab6ba7f630ce6f4d66f"},"8":{"expected":"0000000000000000000000000000000000000000000000000000000000000000"},"9":{"expected":"c9f429296634072d1063a03fb287bed0b2d177b0a504755ad9194cffd90b2489"}},"dcap-tdx-example":{"0":{"expected":"5d56080eb9ef8ce0bbaf6bdcdadeeb06e7c5b0a4d1ec16be868a85a953babe0c5e54d01c8e050a54fe1ca078372530d2"},"1":{"expected":"4216e925f796f4e282cfa6e72d4c77a80560987afa29155a61fdc33adb80eab0d4112abd52387e5e25a60deefb8a5287"},"2":{"expected":"4274fefb79092c164000b571b64ecb432fa2357adb421fd1c77a867168d7d7f7fe82796d1eba092c7bab35cf43f5ec55"},"3":{"expected":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},"4":{"expected":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}}` )
25+
2126// TestExpectedMeasurementsV2 tests the v2 data schema
2227func TestExpectedMeasurementsV2 (t * testing.T ) {
23- // Load expected measurements from JSON file
28+ // Load expected measurements from JSON file (in V2 format)
2429 m , err := NewExpectedMeasurementsFromFile ("../measurements.json" )
2530 require .NoError (t , err )
2631 require .Len (t , m .Measurements , 3 )
@@ -65,3 +70,25 @@ func TestExpectedMeasurementsV2(t *testing.T) {
6570 require .True (t , exists )
6671 require .Equal (t , "dcap-tdx-example-02" , foundMeasurement .MeasurementID )
6772}
73+
74+ func TestExpectedMeasurementsV1 (t * testing.T ) {
75+ tempDir := t .TempDir ()
76+ err := os .WriteFile (filepath .Join (tempDir , "measurements.json" ), measurementsV1JSON , 0644 )
77+ require .NoError (t , err )
78+
79+ // Load expected measurements from JSON file
80+ m , err := NewExpectedMeasurementsFromFile (filepath .Join (tempDir , "measurements.json" ))
81+ require .NoError (t , err )
82+ require .Len (t , m .Measurements , 2 )
83+
84+ testMeasurements := TestMeasurements {
85+ 0 : mustBytesFromHex ("5d56080eb9ef8ce0bbaf6bdcdadeeb06e7c5b0a4d1ec16be868a85a953babe0c5e54d01c8e050a54fe1ca078372530d2" ),
86+ 1 : mustBytesFromHex ("4216e925f796f4e282cfa6e72d4c77a80560987afa29155a61fdc33adb80eab0d4112abd52387e5e25a60deefb8a5287" ),
87+ 2 : mustBytesFromHex ("4274fefb79092c164000b571b64ecb432fa2357adb421fd1c77a867168d7d7f7fe82796d1eba092c7bab35cf43f5ec55" ),
88+ 3 : mustBytesFromHex ("000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ),
89+ 4 : mustBytesFromHex ("000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ),
90+ }
91+ exists , foundMeasurement := m .Contains (testMeasurements )
92+ require .True (t , exists )
93+ require .Equal (t , "dcap-tdx-example" , foundMeasurement .MeasurementID )
94+ }
0 commit comments