import 'package:apidash/codegen/codegen.dart'; import 'package:apidash/consts.dart'; import 'package:test/test.dart'; import '../models/request_models.dart'; void main() { final codeGen = Codegen(); group('GET Request', () { test('GET 1', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.apidash.dev") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.body}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelGet1, "https"), expectedCode); }); test('GET 2', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.apidash.dev/country/data?code=US") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.body}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelGet2, "https"), expectedCode); }); test('GET 3', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.apidash.dev/country/data?code=IND") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.body}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelGet3, "https"), expectedCode); }); test('GET 4', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.apidash.dev/humanize/social?num=8700000&digits=3&system=SS&add_space=true&trailing_zeros=true") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.body}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelGet4, "https"), expectedCode); }); test('GET 5', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.github.com/repos/foss42/apidash") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) request["User-Agent"] = "Test Agent" response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.body}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelGet5, "https"), expectedCode); }); test('GET 6', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.github.com/repos/foss42/apidash?raw=true") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) request["User-Agent"] = "Test Agent" response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.body}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelGet6, "https"), expectedCode); }); test('GET 7', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.apidash.dev") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.body}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelGet7, "https"), expectedCode); }); test('GET 8', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.github.com/repos/foss42/apidash?raw=true") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) request["User-Agent"] = "Test Agent" response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.body}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelGet8, "https"), expectedCode); }); test('GET 9', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.apidash.dev/humanize/social?num=8700000&add_space=true") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.body}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelGet9, "https"), expectedCode); }); test('GET 10', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.apidash.dev/humanize/social") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) request["User-Agent"] = "Test Agent" response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.body}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelGet10, "https", ), expectedCode); }); test('GET 11', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.apidash.dev/humanize/social?num=8700000&digits=3") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) request["User-Agent"] = "Test Agent" response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.body}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelGet11, "https"), expectedCode); }); test('GET 12', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.apidash.dev/humanize/social") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Get.new(url) response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.body}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelGet12, "https"), expectedCode); }); }); group('HEAD Request', () { test('HEAD 1', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.apidash.dev") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Head.new(url) response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.to_hash}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelHead1, "https"), expectedCode); }); test('HEAD 2', () { const expectedCode = r"""require "uri" require "net/http" url = URI("http://api.apidash.dev") https = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Head.new(url) response = https.request(request) puts "Response Code: #{response.code}" puts "Response Body: #{response.to_hash}" """; expect( codeGen.getCode( CodegenLanguage.rubyNetHttp, requestModelHead2, "http"), expectedCode); }); }); group('POST Request', () { test('POST 1', () { const expectedCode = r"""require "uri" require "net/http" url = URI("https://api.apidash.dev/case/lower") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Post.new(url) request["Content-Type"] = "text/plain" request.body = <