soilsidekick 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +9 -0
- data/README.md +267 -0
- data/Rakefile +10 -0
- data/docs/AIAnalysis.md +22 -0
- data/docs/AIAnalysisRecommendationsInner.md +22 -0
- data/docs/AIServicesApi.md +327 -0
- data/docs/BeginnerGuidance.md +34 -0
- data/docs/BeginnerGuidanceDetailedExplanation.md +24 -0
- data/docs/BeginnerGuidanceMetadata.md +22 -0
- data/docs/BeginnerGuidanceRequest.md +24 -0
- data/docs/BeginnerGuidanceRequestLocation.md +20 -0
- data/docs/BeginnerGuidanceRequestPlantContext.md +20 -0
- data/docs/CalculateCarbonCreditsRequest.md +26 -0
- data/docs/CalculateEnvironmentalImpactRequest.md +26 -0
- data/docs/CalculateEnvironmentalImpactRequestProposedTreatmentsInner.md +18 -0
- data/docs/CalculateEnvironmentalImpactRequestSoilData.md +28 -0
- data/docs/CalculateEnvironmentalImpactRequestWaterBodyData.md +18 -0
- data/docs/CarbonApi.md +79 -0
- data/docs/CarbonCreditCalculation.md +22 -0
- data/docs/CarbonCreditCalculationCalculationDetails.md +28 -0
- data/docs/CarbonCreditCalculationCalculationDetailsMetadata.md +22 -0
- data/docs/CarbonCreditCalculationCreditRecord.md +26 -0
- data/docs/ConsumerPlantCareApi.md +247 -0
- data/docs/County.md +26 -0
- data/docs/CountyLookup200Response.md +18 -0
- data/docs/CountyLookupRequest.md +18 -0
- data/docs/DynamicCare.md +28 -0
- data/docs/DynamicCareCareRecommendations.md +24 -0
- data/docs/DynamicCareCareRecommendationsHumidity.md +22 -0
- data/docs/DynamicCareCareRecommendationsLight.md +22 -0
- data/docs/DynamicCareCareRecommendationsWatering.md +24 -0
- data/docs/DynamicCareCurrentConditions.md +26 -0
- data/docs/DynamicCareMetadata.md +22 -0
- data/docs/DynamicCarePlant.md +22 -0
- data/docs/DynamicCareRequest.md +28 -0
- data/docs/DynamicCareRequestContainerDetails.md +22 -0
- data/docs/DynamicCareRequestEnvironment.md +20 -0
- data/docs/DynamicCareRequestLocation.md +22 -0
- data/docs/EnvironmentalApi.md +87 -0
- data/docs/EnvironmentalImpact.md +22 -0
- data/docs/EnvironmentalImpactDetailedAnalysis.md +26 -0
- data/docs/EnvironmentalImpactDetailedAnalysisEcoAlternatives.md +18 -0
- data/docs/EnvironmentalImpactDetailedAnalysisEcoAlternativesAlternativesInner.md +26 -0
- data/docs/EnvironmentalImpactDetailedAnalysisRunoffRisk.md +22 -0
- data/docs/EnvironmentalImpactImpactAssessment.md +26 -0
- data/docs/Error.md +22 -0
- data/docs/GenerateSmartReportSummaryRequest.md +20 -0
- data/docs/GenerateVRTPrescriptionRequest.md +22 -0
- data/docs/GeographicApi.md +79 -0
- data/docs/GetAgriculturalIntelligenceRequest.md +20 -0
- data/docs/GetLiveAgriculturalDataRequest.md +24 -0
- data/docs/GetPlantingCalendarRequest.md +20 -0
- data/docs/GetSatelliteDataRequest.md +20 -0
- data/docs/GetSeasonalPlanningAssistantRequest.md +26 -0
- data/docs/GetSeasonalPlanningAssistantRequestLocation.md +22 -0
- data/docs/GetSoilDataRequest.md +18 -0
- data/docs/GetTerritorialWaterAnalyticsRequest.md +22 -0
- data/docs/GetTerritorialWaterAnalyticsRequestDateRange.md +20 -0
- data/docs/LeafEnginesApi.md +87 -0
- data/docs/LeafEnginesCompatibility.md +22 -0
- data/docs/LeafEnginesCompatibilityData.md +32 -0
- data/docs/LeafEnginesCompatibilityDataBreakdown.md +22 -0
- data/docs/LeafEnginesCompatibilityDataBreakdownSoil.md +22 -0
- data/docs/LeafEnginesCompatibilityDataMetadata.md +22 -0
- data/docs/LeafEnginesCompatibilityUsage.md +20 -0
- data/docs/LeafenginesQueryRequest.md +22 -0
- data/docs/LeafenginesQueryRequestLocation.md +24 -0
- data/docs/LeafenginesQueryRequestOptions.md +22 -0
- data/docs/LeafenginesQueryRequestPlant.md +24 -0
- data/docs/LeafenginesQueryRequestPlantCareRequirements.md +22 -0
- data/docs/LeafenginesQueryRequestPlantCareRequirementsSoilPhRange.md +20 -0
- data/docs/LiveAgriculturalData.md +30 -0
- data/docs/LiveAgriculturalDataData.md +24 -0
- data/docs/PlantingCalendar.md +26 -0
- data/docs/SafeIdentification.md +26 -0
- data/docs/SafeIdentificationConfidenceBreakdown.md +24 -0
- data/docs/SafeIdentificationIdentification.md +22 -0
- data/docs/SafeIdentificationIdentificationPrimaryMatch.md +24 -0
- data/docs/SafeIdentificationMetadata.md +22 -0
- data/docs/SafeIdentificationRequest.md +22 -0
- data/docs/SafeIdentificationRequestContext.md +22 -0
- data/docs/SafeIdentificationRequestLocation.md +22 -0
- data/docs/SafeIdentificationRequestLocationCoordinates.md +20 -0
- data/docs/SafeIdentificationSafetyAnalysis.md +24 -0
- data/docs/SafeIdentificationSafetyAnalysisLookalikesInner.md +24 -0
- data/docs/SatelliteData.md +26 -0
- data/docs/SatelliteDataApi.md +79 -0
- data/docs/SeasonalPlanningResponse.md +24 -0
- data/docs/SeasonalPlanningResponseRecommendations.md +22 -0
- data/docs/SeasonalPlanningResponseWeatherData.md +28 -0
- data/docs/SmartReportSummary.md +22 -0
- data/docs/SmartReportSummarySummary.md +24 -0
- data/docs/SoilAnalysisApi.md +231 -0
- data/docs/SoilData.md +38 -0
- data/docs/TerritorialWaterAnalytics.md +22 -0
- data/docs/TerritorialWaterAnalyticsAnalytics.md +24 -0
- data/docs/TurboQuantApi.md +87 -0
- data/docs/TurboQuantCapabilities.md +30 -0
- data/docs/TurboQuantCapabilitiesEstimatedLatencyMs.md +20 -0
- data/docs/TurboQuantCapabilitiesRequest.md +22 -0
- data/docs/VRTApi.md +79 -0
- data/docs/VRTPrescription.md +24 -0
- data/docs/VRTPrescriptionZonesInner.md +22 -0
- data/docs/VisualCropAnalysis.md +24 -0
- data/docs/VisualCropAnalysisAnalysis.md +26 -0
- data/docs/VisualCropAnalysisRequest.md +24 -0
- data/docs/VisualCropAnalysisRequestLocation.md +22 -0
- data/docs/WaterQuality.md +30 -0
- data/docs/WaterQualityApi.md +151 -0
- data/git_push.sh +57 -0
- data/lib/soilsidekick/api/ai_services_api.rb +378 -0
- data/lib/soilsidekick/api/carbon_api.rb +90 -0
- data/lib/soilsidekick/api/consumer_plant_care_api.rb +289 -0
- data/lib/soilsidekick/api/environmental_api.rb +111 -0
- data/lib/soilsidekick/api/geographic_api.rb +90 -0
- data/lib/soilsidekick/api/leaf_engines_api.rb +111 -0
- data/lib/soilsidekick/api/satellite_data_api.rb +90 -0
- data/lib/soilsidekick/api/soil_analysis_api.rb +247 -0
- data/lib/soilsidekick/api/turbo_quant_api.rb +111 -0
- data/lib/soilsidekick/api/vrt_api.rb +90 -0
- data/lib/soilsidekick/api/water_quality_api.rb +158 -0
- data/lib/soilsidekick/api_client.rb +397 -0
- data/lib/soilsidekick/api_error.rb +58 -0
- data/lib/soilsidekick/api_model_base.rb +88 -0
- data/lib/soilsidekick/configuration.rb +312 -0
- data/lib/soilsidekick/models/ai_analysis.rb +167 -0
- data/lib/soilsidekick/models/ai_analysis_recommendations_inner.rb +199 -0
- data/lib/soilsidekick/models/beginner_guidance.rb +228 -0
- data/lib/soilsidekick/models/beginner_guidance_detailed_explanation.rb +179 -0
- data/lib/soilsidekick/models/beginner_guidance_metadata.rb +165 -0
- data/lib/soilsidekick/models/beginner_guidance_request.rb +229 -0
- data/lib/soilsidekick/models/beginner_guidance_request_location.rb +156 -0
- data/lib/soilsidekick/models/beginner_guidance_request_plant_context.rb +158 -0
- data/lib/soilsidekick/models/calculate_carbon_credits_request.rb +264 -0
- data/lib/soilsidekick/models/calculate_environmental_impact_request.rb +247 -0
- data/lib/soilsidekick/models/calculate_environmental_impact_request_proposed_treatments_inner.rb +181 -0
- data/lib/soilsidekick/models/calculate_environmental_impact_request_soil_data.rb +238 -0
- data/lib/soilsidekick/models/calculate_environmental_impact_request_water_body_data.rb +147 -0
- data/lib/soilsidekick/models/carbon_credit_calculation.rb +165 -0
- data/lib/soilsidekick/models/carbon_credit_calculation_calculation_details.rb +192 -0
- data/lib/soilsidekick/models/carbon_credit_calculation_calculation_details_metadata.rb +167 -0
- data/lib/soilsidekick/models/carbon_credit_calculation_credit_record.rb +217 -0
- data/lib/soilsidekick/models/county.rb +183 -0
- data/lib/soilsidekick/models/county_lookup200_response.rb +149 -0
- data/lib/soilsidekick/models/county_lookup_request.rb +183 -0
- data/lib/soilsidekick/models/dynamic_care.rb +196 -0
- data/lib/soilsidekick/models/dynamic_care_care_recommendations.rb +175 -0
- data/lib/soilsidekick/models/dynamic_care_care_recommendations_humidity.rb +165 -0
- data/lib/soilsidekick/models/dynamic_care_care_recommendations_light.rb +165 -0
- data/lib/soilsidekick/models/dynamic_care_care_recommendations_watering.rb +208 -0
- data/lib/soilsidekick/models/dynamic_care_current_conditions.rb +183 -0
- data/lib/soilsidekick/models/dynamic_care_metadata.rb +165 -0
- data/lib/soilsidekick/models/dynamic_care_plant.rb +199 -0
- data/lib/soilsidekick/models/dynamic_care_request.rb +262 -0
- data/lib/soilsidekick/models/dynamic_care_request_container_details.rb +199 -0
- data/lib/soilsidekick/models/dynamic_care_request_environment.rb +203 -0
- data/lib/soilsidekick/models/dynamic_care_request_location.rb +194 -0
- data/lib/soilsidekick/models/environmental_impact.rb +167 -0
- data/lib/soilsidekick/models/environmental_impact_detailed_analysis.rb +183 -0
- data/lib/soilsidekick/models/environmental_impact_detailed_analysis_eco_alternatives.rb +149 -0
- data/lib/soilsidekick/models/environmental_impact_detailed_analysis_eco_alternatives_alternatives_inner.rb +183 -0
- data/lib/soilsidekick/models/environmental_impact_detailed_analysis_runoff_risk.rb +199 -0
- data/lib/soilsidekick/models/environmental_impact_impact_assessment.rb +183 -0
- data/lib/soilsidekick/models/error.rb +165 -0
- data/lib/soilsidekick/models/generate_smart_report_summary_request.rb +215 -0
- data/lib/soilsidekick/models/generate_vrt_prescription_request.rb +223 -0
- data/lib/soilsidekick/models/get_agricultural_intelligence_request.rb +225 -0
- data/lib/soilsidekick/models/get_live_agricultural_data_request.rb +277 -0
- data/lib/soilsidekick/models/get_planting_calendar_request.rb +201 -0
- data/lib/soilsidekick/models/get_satellite_data_request.rb +226 -0
- data/lib/soilsidekick/models/get_seasonal_planning_assistant_request.rb +245 -0
- data/lib/soilsidekick/models/get_seasonal_planning_assistant_request_location.rb +165 -0
- data/lib/soilsidekick/models/get_soil_data_request.rb +176 -0
- data/lib/soilsidekick/models/get_territorial_water_analytics_request.rb +201 -0
- data/lib/soilsidekick/models/get_territorial_water_analytics_request_date_range.rb +156 -0
- data/lib/soilsidekick/models/leaf_engines_compatibility.rb +165 -0
- data/lib/soilsidekick/models/leaf_engines_compatibility_data.rb +247 -0
- data/lib/soilsidekick/models/leaf_engines_compatibility_data_breakdown.rb +165 -0
- data/lib/soilsidekick/models/leaf_engines_compatibility_data_breakdown_soil.rb +169 -0
- data/lib/soilsidekick/models/leaf_engines_compatibility_data_metadata.rb +167 -0
- data/lib/soilsidekick/models/leaf_engines_compatibility_usage.rb +156 -0
- data/lib/soilsidekick/models/leafengines_query_request.rb +199 -0
- data/lib/soilsidekick/models/leafengines_query_request_location.rb +174 -0
- data/lib/soilsidekick/models/leafengines_query_request_options.rb +165 -0
- data/lib/soilsidekick/models/leafengines_query_request_plant.rb +174 -0
- data/lib/soilsidekick/models/leafengines_query_request_plant_care_requirements.rb +211 -0
- data/lib/soilsidekick/models/leafengines_query_request_plant_care_requirements_soil_ph_range.rb +156 -0
- data/lib/soilsidekick/models/live_agricultural_data.rb +237 -0
- data/lib/soilsidekick/models/live_agricultural_data_data.rb +174 -0
- data/lib/soilsidekick/models/planting_calendar.rb +185 -0
- data/lib/soilsidekick/models/safe_identification.rb +184 -0
- data/lib/soilsidekick/models/safe_identification_confidence_breakdown.rb +174 -0
- data/lib/soilsidekick/models/safe_identification_identification.rb +200 -0
- data/lib/soilsidekick/models/safe_identification_identification_primary_match.rb +175 -0
- data/lib/soilsidekick/models/safe_identification_metadata.rb +167 -0
- data/lib/soilsidekick/models/safe_identification_request.rb +183 -0
- data/lib/soilsidekick/models/safe_identification_request_context.rb +223 -0
- data/lib/soilsidekick/models/safe_identification_request_location.rb +205 -0
- data/lib/soilsidekick/models/safe_identification_request_location_coordinates.rb +156 -0
- data/lib/soilsidekick/models/safe_identification_safety_analysis.rb +215 -0
- data/lib/soilsidekick/models/safe_identification_safety_analysis_lookalikes_inner.rb +177 -0
- data/lib/soilsidekick/models/satellite_data.rb +185 -0
- data/lib/soilsidekick/models/seasonal_planning_response.rb +174 -0
- data/lib/soilsidekick/models/seasonal_planning_response_recommendations.rb +169 -0
- data/lib/soilsidekick/models/seasonal_planning_response_weather_data.rb +192 -0
- data/lib/soilsidekick/models/smart_report_summary.rb +165 -0
- data/lib/soilsidekick/models/smart_report_summary_summary.rb +178 -0
- data/lib/soilsidekick/models/soil_data.rb +239 -0
- data/lib/soilsidekick/models/territorial_water_analytics.rb +165 -0
- data/lib/soilsidekick/models/territorial_water_analytics_analytics.rb +174 -0
- data/lib/soilsidekick/models/turbo_quant_capabilities.rb +253 -0
- data/lib/soilsidekick/models/turbo_quant_capabilities_estimated_latency_ms.rb +156 -0
- data/lib/soilsidekick/models/turbo_quant_capabilities_request.rb +201 -0
- data/lib/soilsidekick/models/visual_crop_analysis.rb +174 -0
- data/lib/soilsidekick/models/visual_crop_analysis_analysis.rb +219 -0
- data/lib/soilsidekick/models/visual_crop_analysis_request.rb +234 -0
- data/lib/soilsidekick/models/visual_crop_analysis_request_location.rb +165 -0
- data/lib/soilsidekick/models/vrt_prescription.rb +176 -0
- data/lib/soilsidekick/models/vrt_prescription_zones_inner.rb +165 -0
- data/lib/soilsidekick/models/water_quality.rb +235 -0
- data/lib/soilsidekick/version.rb +15 -0
- data/lib/soilsidekick.rb +146 -0
- data/soilsidekick.gemspec +39 -0
- data/spec/api/ai_services_api_spec.rb +95 -0
- data/spec/api/carbon_api_spec.rb +47 -0
- data/spec/api/consumer_plant_care_api_spec.rb +80 -0
- data/spec/api/environmental_api_spec.rb +50 -0
- data/spec/api/geographic_api_spec.rb +47 -0
- data/spec/api/leaf_engines_api_spec.rb +50 -0
- data/spec/api/satellite_data_api_spec.rb +47 -0
- data/spec/api/soil_analysis_api_spec.rb +74 -0
- data/spec/api/turbo_quant_api_spec.rb +50 -0
- data/spec/api/vrt_api_spec.rb +47 -0
- data/spec/api/water_quality_api_spec.rb +59 -0
- data/spec/models/ai_analysis_recommendations_inner_spec.rb +52 -0
- data/spec/models/ai_analysis_spec.rb +48 -0
- data/spec/models/beginner_guidance_detailed_explanation_spec.rb +54 -0
- data/spec/models/beginner_guidance_metadata_spec.rb +48 -0
- data/spec/models/beginner_guidance_request_location_spec.rb +42 -0
- data/spec/models/beginner_guidance_request_plant_context_spec.rb +42 -0
- data/spec/models/beginner_guidance_request_spec.rb +58 -0
- data/spec/models/beginner_guidance_spec.rb +84 -0
- data/spec/models/calculate_carbon_credits_request_spec.rb +64 -0
- data/spec/models/calculate_environmental_impact_request_proposed_treatments_inner_spec.rb +40 -0
- data/spec/models/calculate_environmental_impact_request_soil_data_spec.rb +74 -0
- data/spec/models/calculate_environmental_impact_request_spec.rb +60 -0
- data/spec/models/calculate_environmental_impact_request_water_body_data_spec.rb +36 -0
- data/spec/models/carbon_credit_calculation_calculation_details_metadata_spec.rb +48 -0
- data/spec/models/carbon_credit_calculation_calculation_details_spec.rb +66 -0
- data/spec/models/carbon_credit_calculation_credit_record_spec.rb +64 -0
- data/spec/models/carbon_credit_calculation_spec.rb +48 -0
- data/spec/models/county_lookup200_response_spec.rb +36 -0
- data/spec/models/county_lookup_request_spec.rb +36 -0
- data/spec/models/county_spec.rb +60 -0
- data/spec/models/dynamic_care_care_recommendations_humidity_spec.rb +48 -0
- data/spec/models/dynamic_care_care_recommendations_light_spec.rb +48 -0
- data/spec/models/dynamic_care_care_recommendations_spec.rb +54 -0
- data/spec/models/dynamic_care_care_recommendations_watering_spec.rb +58 -0
- data/spec/models/dynamic_care_current_conditions_spec.rb +60 -0
- data/spec/models/dynamic_care_metadata_spec.rb +48 -0
- data/spec/models/dynamic_care_plant_spec.rb +52 -0
- data/spec/models/dynamic_care_request_container_details_spec.rb +52 -0
- data/spec/models/dynamic_care_request_environment_spec.rb +50 -0
- data/spec/models/dynamic_care_request_location_spec.rb +48 -0
- data/spec/models/dynamic_care_request_spec.rb +70 -0
- data/spec/models/dynamic_care_spec.rb +66 -0
- data/spec/models/environmental_impact_detailed_analysis_eco_alternatives_alternatives_inner_spec.rb +60 -0
- data/spec/models/environmental_impact_detailed_analysis_eco_alternatives_spec.rb +36 -0
- data/spec/models/environmental_impact_detailed_analysis_runoff_risk_spec.rb +52 -0
- data/spec/models/environmental_impact_detailed_analysis_spec.rb +60 -0
- data/spec/models/environmental_impact_impact_assessment_spec.rb +60 -0
- data/spec/models/environmental_impact_spec.rb +48 -0
- data/spec/models/error_spec.rb +48 -0
- data/spec/models/generate_smart_report_summary_request_spec.rb +46 -0
- data/spec/models/generate_vrt_prescription_request_spec.rb +52 -0
- data/spec/models/get_agricultural_intelligence_request_spec.rb +46 -0
- data/spec/models/get_live_agricultural_data_request_spec.rb +58 -0
- data/spec/models/get_planting_calendar_request_spec.rb +42 -0
- data/spec/models/get_satellite_data_request_spec.rb +42 -0
- data/spec/models/get_seasonal_planning_assistant_request_location_spec.rb +48 -0
- data/spec/models/get_seasonal_planning_assistant_request_spec.rb +64 -0
- data/spec/models/get_soil_data_request_spec.rb +36 -0
- data/spec/models/get_territorial_water_analytics_request_date_range_spec.rb +42 -0
- data/spec/models/get_territorial_water_analytics_request_spec.rb +52 -0
- data/spec/models/leaf_engines_compatibility_data_breakdown_soil_spec.rb +48 -0
- data/spec/models/leaf_engines_compatibility_data_breakdown_spec.rb +48 -0
- data/spec/models/leaf_engines_compatibility_data_metadata_spec.rb +48 -0
- data/spec/models/leaf_engines_compatibility_data_spec.rb +82 -0
- data/spec/models/leaf_engines_compatibility_spec.rb +48 -0
- data/spec/models/leaf_engines_compatibility_usage_spec.rb +42 -0
- data/spec/models/leafengines_query_request_location_spec.rb +54 -0
- data/spec/models/leafengines_query_request_options_spec.rb +48 -0
- data/spec/models/leafengines_query_request_plant_care_requirements_soil_ph_range_spec.rb +42 -0
- data/spec/models/leafengines_query_request_plant_care_requirements_spec.rb +56 -0
- data/spec/models/leafengines_query_request_plant_spec.rb +54 -0
- data/spec/models/leafengines_query_request_spec.rb +48 -0
- data/spec/models/live_agricultural_data_data_spec.rb +54 -0
- data/spec/models/live_agricultural_data_spec.rb +76 -0
- data/spec/models/planting_calendar_spec.rb +60 -0
- data/spec/models/safe_identification_confidence_breakdown_spec.rb +54 -0
- data/spec/models/safe_identification_identification_primary_match_spec.rb +54 -0
- data/spec/models/safe_identification_identification_spec.rb +52 -0
- data/spec/models/safe_identification_metadata_spec.rb +48 -0
- data/spec/models/safe_identification_request_context_spec.rb +60 -0
- data/spec/models/safe_identification_request_location_coordinates_spec.rb +42 -0
- data/spec/models/safe_identification_request_location_spec.rb +48 -0
- data/spec/models/safe_identification_request_spec.rb +48 -0
- data/spec/models/safe_identification_safety_analysis_lookalikes_inner_spec.rb +54 -0
- data/spec/models/safe_identification_safety_analysis_spec.rb +58 -0
- data/spec/models/safe_identification_spec.rb +60 -0
- data/spec/models/satellite_data_spec.rb +60 -0
- data/spec/models/seasonal_planning_response_recommendations_spec.rb +48 -0
- data/spec/models/seasonal_planning_response_spec.rb +54 -0
- data/spec/models/seasonal_planning_response_weather_data_spec.rb +66 -0
- data/spec/models/smart_report_summary_spec.rb +48 -0
- data/spec/models/smart_report_summary_summary_spec.rb +54 -0
- data/spec/models/soil_data_spec.rb +96 -0
- data/spec/models/territorial_water_analytics_analytics_spec.rb +54 -0
- data/spec/models/territorial_water_analytics_spec.rb +48 -0
- data/spec/models/turbo_quant_capabilities_estimated_latency_ms_spec.rb +42 -0
- data/spec/models/turbo_quant_capabilities_request_spec.rb +52 -0
- data/spec/models/turbo_quant_capabilities_spec.rb +80 -0
- data/spec/models/visual_crop_analysis_analysis_spec.rb +64 -0
- data/spec/models/visual_crop_analysis_request_location_spec.rb +48 -0
- data/spec/models/visual_crop_analysis_request_spec.rb +58 -0
- data/spec/models/visual_crop_analysis_spec.rb +54 -0
- data/spec/models/vrt_prescription_spec.rb +54 -0
- data/spec/models/vrt_prescription_zones_inner_spec.rb +48 -0
- data/spec/models/water_quality_spec.rb +76 -0
- data/spec/spec_helper.rb +111 -0
- metadata +543 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for SoilSidekick::WaterQualityApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'WaterQualityApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = SoilSidekick::WaterQualityApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of WaterQualityApi' do
|
|
30
|
+
it 'should create an instance of WaterQualityApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(SoilSidekick::WaterQualityApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for get_territorial_water_analytics
|
|
36
|
+
# Get territorial water analytics
|
|
37
|
+
# Generate territorial water quality analytics across regions
|
|
38
|
+
# @param get_territorial_water_analytics_request
|
|
39
|
+
# @param [Hash] opts the optional parameters
|
|
40
|
+
# @return [TerritorialWaterAnalytics]
|
|
41
|
+
describe 'get_territorial_water_analytics test' do
|
|
42
|
+
it 'should work' do
|
|
43
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# unit tests for get_water_quality
|
|
48
|
+
# Get water quality data
|
|
49
|
+
# Retrieve water quality metrics for a specific county
|
|
50
|
+
# @param get_soil_data_request
|
|
51
|
+
# @param [Hash] opts the optional parameters
|
|
52
|
+
# @return [WaterQuality]
|
|
53
|
+
describe 'get_water_quality test' do
|
|
54
|
+
it 'should work' do
|
|
55
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::AIAnalysisRecommendationsInner
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::AIAnalysisRecommendationsInner do
|
|
21
|
+
#let(:instance) { SoilSidekick::AIAnalysisRecommendationsInner.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of AIAnalysisRecommendationsInner' do
|
|
24
|
+
it 'should create an instance of AIAnalysisRecommendationsInner' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::AIAnalysisRecommendationsInner)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "title"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "description"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "priority"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["low", "medium", "high"])
|
|
46
|
+
# validator.allowable_values.each do |value|
|
|
47
|
+
# expect { instance.priority = value }.not_to raise_error
|
|
48
|
+
# end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::AIAnalysis
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::AIAnalysis do
|
|
21
|
+
#let(:instance) { SoilSidekick::AIAnalysis.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of AIAnalysis' do
|
|
24
|
+
it 'should create an instance of AIAnalysis' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::AIAnalysis)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "analysis_type"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "confidence_score"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "recommendations"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::BeginnerGuidanceDetailedExplanation
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::BeginnerGuidanceDetailedExplanation do
|
|
21
|
+
#let(:instance) { SoilSidekick::BeginnerGuidanceDetailedExplanation.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of BeginnerGuidanceDetailedExplanation' do
|
|
24
|
+
it 'should create an instance of BeginnerGuidanceDetailedExplanation' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::BeginnerGuidanceDetailedExplanation)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "technical_term"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "plain_english"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "common_causes"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe 'test attribute "prevention_tips"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::BeginnerGuidanceMetadata
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::BeginnerGuidanceMetadata do
|
|
21
|
+
#let(:instance) { SoilSidekick::BeginnerGuidanceMetadata.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of BeginnerGuidanceMetadata' do
|
|
24
|
+
it 'should create an instance of BeginnerGuidanceMetadata' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::BeginnerGuidanceMetadata)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "expertise_level_used"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "plant_identified"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "environmental_context"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::BeginnerGuidanceRequestLocation
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::BeginnerGuidanceRequestLocation do
|
|
21
|
+
#let(:instance) { SoilSidekick::BeginnerGuidanceRequestLocation.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of BeginnerGuidanceRequestLocation' do
|
|
24
|
+
it 'should create an instance of BeginnerGuidanceRequestLocation' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::BeginnerGuidanceRequestLocation)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "county_fips"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "indoor"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::BeginnerGuidanceRequestPlantContext
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::BeginnerGuidanceRequestPlantContext do
|
|
21
|
+
#let(:instance) { SoilSidekick::BeginnerGuidanceRequestPlantContext.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of BeginnerGuidanceRequestPlantContext' do
|
|
24
|
+
it 'should create an instance of BeginnerGuidanceRequestPlantContext' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::BeginnerGuidanceRequestPlantContext)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "plant_name"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "image"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::BeginnerGuidanceRequest
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::BeginnerGuidanceRequest do
|
|
21
|
+
#let(:instance) { SoilSidekick::BeginnerGuidanceRequest.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of BeginnerGuidanceRequest' do
|
|
24
|
+
it 'should create an instance of BeginnerGuidanceRequest' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::BeginnerGuidanceRequest)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "question"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "plant_context"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "location"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe 'test attribute "user_expertise"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["complete_beginner", "some_experience", "intermediate"])
|
|
52
|
+
# validator.allowable_values.each do |value|
|
|
53
|
+
# expect { instance.user_expertise = value }.not_to raise_error
|
|
54
|
+
# end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
end
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::BeginnerGuidance
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::BeginnerGuidance do
|
|
21
|
+
#let(:instance) { SoilSidekick::BeginnerGuidance.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of BeginnerGuidance' do
|
|
24
|
+
it 'should create an instance of BeginnerGuidance' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::BeginnerGuidance)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "success"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "simple_answer"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "what_to_do_now"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe 'test attribute "why_this_happens"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
describe 'test attribute "detailed_explanation"' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
describe 'test attribute "encouragement"' do
|
|
61
|
+
it 'should work' do
|
|
62
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
describe 'test attribute "related_questions"' do
|
|
67
|
+
it 'should work' do
|
|
68
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
describe 'test attribute "confidence"' do
|
|
73
|
+
it 'should work' do
|
|
74
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
describe 'test attribute "metadata"' do
|
|
79
|
+
it 'should work' do
|
|
80
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::CalculateCarbonCreditsRequest
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::CalculateCarbonCreditsRequest do
|
|
21
|
+
#let(:instance) { SoilSidekick::CalculateCarbonCreditsRequest.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of CalculateCarbonCreditsRequest' do
|
|
24
|
+
it 'should create an instance of CalculateCarbonCreditsRequest' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::CalculateCarbonCreditsRequest)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "field_name"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "field_size_acres"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "soil_organic_matter"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe 'test attribute "soil_analysis_id"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
describe 'test attribute "verification_type"' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["self_reported", "third_party", "satellite"])
|
|
58
|
+
# validator.allowable_values.each do |value|
|
|
59
|
+
# expect { instance.verification_type = value }.not_to raise_error
|
|
60
|
+
# end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::CalculateEnvironmentalImpactRequestProposedTreatmentsInner
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::CalculateEnvironmentalImpactRequestProposedTreatmentsInner do
|
|
21
|
+
#let(:instance) { SoilSidekick::CalculateEnvironmentalImpactRequestProposedTreatmentsInner.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of CalculateEnvironmentalImpactRequestProposedTreatmentsInner' do
|
|
24
|
+
it 'should create an instance of CalculateEnvironmentalImpactRequestProposedTreatmentsInner' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::CalculateEnvironmentalImpactRequestProposedTreatmentsInner)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "type"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["nitrogen_fertilizer", "phosphorus_fertilizer", "pesticide"])
|
|
34
|
+
# validator.allowable_values.each do |value|
|
|
35
|
+
# expect { instance.type = value }.not_to raise_error
|
|
36
|
+
# end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|