File tree Expand file tree Collapse file tree 2 files changed +32
-1
lines changed Expand file tree Collapse file tree 2 files changed +32
-1
lines changed Original file line number Diff line number Diff line change @@ -121,7 +121,7 @@ def interfaces
121121 confine { Facter ::Core ::Execution . which ( 'docker' ) }
122122 setcode do
123123 docker_version = Facter . value ( :docker_client_version )
124- if docker_version &.match? ( %r{1[0 -9][0-2]?[.] \w + } )
124+ if docker_version &.match? ( %r{\A (1 \. 1[3 -9]|[2-9]| \d {2,}) \. } )
125125 docker_json_str = Facter ::Core ::Execution . execute (
126126 "#{ docker_command } info --format '{{json .}}'" , timeout : 90
127127 )
Original file line number Diff line number Diff line change 9090 end
9191 end
9292
93+ describe 'docker_client_version fact containment' do
94+ [
95+ '0.0.1' ,
96+ '0.5.12' ,
97+ '1.12.0' ,
98+ ] . each do |docker_client_version |
99+ it "Does not generate a nested fact with legacy version #{ docker_client_version } " do
100+ expect ( Facter . fact ( :docker_client_version ) ) . to receive ( :value ) . and_return ( docker_client_version )
101+ expect ( Facter ::Core ::Execution ) . not_to receive ( :execute ) . with ( "#{ docker_command } info --format '{{json .}}'" , any_args )
102+
103+ expect ( Facter . fact ( :docker ) . value ) . to be_nil
104+ end
105+ end
106+
107+ [
108+ '1.13.0' ,
109+ '1.14.0' ,
110+ '2.0.0' ,
111+ '20.10.22' ,
112+ '23.0.1' ,
113+ '108.42.1' ,
114+ ] . each do |docker_client_version |
115+ it "Generates a nested fact with version #{ docker_client_version } " do
116+ expect ( Facter . fact ( :docker_client_version ) ) . to receive ( :value ) . and_return ( docker_client_version )
117+ expect ( Facter ::Core ::Execution ) . to receive ( :execute ) . with ( "#{ docker_command } info --format '{{json .}}'" , any_args ) . and_return ( '{}' )
118+
119+ expect ( Facter . fact ( :docker ) . value ) . not_to be_nil
120+ end
121+ end
122+ end
123+
93124 describe 'docker server version' do
94125 before ( :each ) do
95126 docker_version = File . read ( fixtures ( 'facts' , 'docker_version' ) )
You can’t perform that action at this time.
0 commit comments