@@ -76,6 +76,44 @@ func TestManager_List(t *testing.T) {
7676 assert .Equal (t , "two" , exts [2 ].Name ())
7777}
7878
79+ func TestManager_List_binary_update (t * testing.T ) {
80+ tempDir := t .TempDir ()
81+
82+ assert .NoError (t , stubBinaryExtension (
83+ filepath .Join (tempDir , "extensions" , "gh-bin-ext" ),
84+ binManifest {
85+ Owner : "owner" ,
86+ Name : "gh-bin-ext" ,
87+ Host : "example.com" ,
88+ Tag : "v1.0.1" ,
89+ }))
90+
91+ reg := httpmock.Registry {}
92+ defer reg .Verify (t )
93+ client := http.Client {Transport : & reg }
94+
95+ reg .Register (
96+ httpmock .REST ("GET" , "api/v3/repos/owner/gh-bin-ext/releases/latest" ),
97+ httpmock .JSONResponse (
98+ release {
99+ Tag : "v1.0.2" ,
100+ Assets : []releaseAsset {
101+ {
102+ Name : "gh-bin-ext-windows-amd64" ,
103+ APIURL : "https://example.com/release/cool2" ,
104+ },
105+ },
106+ }))
107+
108+ m := newTestManager (tempDir , & client , nil )
109+
110+ exts := m .List (true )
111+ assert .Equal (t , 1 , len (exts ))
112+ assert .Equal (t , "bin-ext" , exts [0 ].Name ())
113+ assert .True (t , exts [0 ].UpdateAvailable ())
114+ assert .Equal (t , "https://example.com/owner/gh-bin-ext" , exts [0 ].URL ())
115+ }
116+
79117func TestManager_Dispatch (t * testing.T ) {
80118 tempDir := t .TempDir ()
81119 extPath := filepath .Join (tempDir , "extensions" , "gh-hello" , "gh-hello" )
0 commit comments