setup-client.rb 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/usr/bin/env ruby
  2. require 'open-uri'
  3. require 'fileutils'
  4. require 'rubygems'
  5. require 'zip'
  6. $testDataUri = "https://github.com/dotnet/corefx-testdata/archive/master.zip"
  7. $testDataZip = "testdata.zip"
  8. $testDataDir = "TestData"
  9. $testDataCertificatePath = "corefx-testdata-master/System.Net.TestData"
  10. $testDataCertificate = "TestData/testclient1_at_contoso.com.cer"
  11. $testData = "corefx-testdata"
  12. def download(url, path)
  13. return if File.exists?(path)
  14. puts "Dowloading #{url} ..."
  15. case io = open(url)
  16. when StringIO then File.open(path, 'w') { |f| f.write(io) }
  17. when Tempfile then io.close; FileUtils.mv(io.path, path)
  18. end
  19. puts "Wrote #{path}."
  20. end
  21. def deleteTestData()
  22. FileUtils.rm_rf($testDataDir)
  23. end
  24. def downloadTestData()
  25. download($testDataUri, $testDataZip)
  26. FileUtils.mkdir_p($testDataDir)
  27. Zip::File.open($testDataZip) do |zip|
  28. zip.glob("**/System.Net.TestData/*") do |entry|
  29. f_path=File.join($testDataDir, File.basename(entry.name))
  30. unless File.exists?(f_path)
  31. entry.extract(f_path)
  32. puts "Extracted #{f_path}"
  33. end
  34. end
  35. end
  36. end
  37. def installCertificate()
  38. downloadTestData()
  39. system("sudo security add-trusted-cert -d -r trustAsRoot -p ssl -u 1 -k /Library/Keychains/System.keychain #{$testDataCertificate}")
  40. end
  41. def removeCertificate()
  42. downloadTestData()
  43. system("sudo security remove-trusted-cert -d #{$testDataCertificate}")
  44. end
  45. # deleteTestData
  46. downloadTestData
  47. installCertificate()
  48. # sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain TestData/testclient1_at_contoso.com.cer
  49. #$script:certificatePath = "$($script:testData)\corefx-testdata-master\System.Net.TestData"
  50. #$script:clientPrivateKeyPath = Join-Path $script:certificatePath "testclient1_at_contoso.com.pfx"
  51. #$script:clientPrivateKeyPassword = "testcertificate"
  52. ##$script:serverPrivateKeyPath = Join-Path $script:certificatePath "contoso.com.pfx"
  53. #$script:serverPrivateKeyPassword = "testcertificate""