# gRPC TileStream Blackbox Integration Tests

**Task**: AZ-1075_grpc_tile_stream_integration_tests
**Name**: gRPC TileStream Integration Tests
**Description**: Blackbox tests for the gRPC tile stream against a running service container.
**Complexity**: 3 points
**Dependencies**: AZ-1074
**Component**: SatelliteProvider.IntegrationTests
**Tracker**: AZ-1075
**Epic**: AZ-284

## Problem

AZ-284 blackbox suite covers HTTP API only. The new gRPC tile stream has no automated coverage.

## Outcome

- Integration tests exercise `StreamTiles` end-to-end in `docker-compose.tests.yml`.
- Failure cases assert correct gRPC status codes.
- Metadata consistency with REST route endpoint verified for same route.

## Scope

### Included
- Fixture: API + Postgres via existing docker-compose.
- Happy path: route → tiles → stream complete.
- Failure cases: empty route, invalid coordinates, zoom out of range.
- Cross-check with `GET /api/satellite/route/{id}` metadata.

### Excluded
- Consumer-side tests (gps-denied-onboard AZ-1076).
- Performance/load testing.

## Acceptance Criteria

**AC-1: Pipeline green**
Given docker-compose test run
When gRPC happy-path test executes
Then it passes with full verbosity (`-v`, no quiet mode).

**AC-2: Failure status codes**
Given each invalid request variant
When the gRPC client calls `StreamTiles`
Then the expected gRPC status code is returned.

**AC-3: REST consistency**
Given the same route submitted via REST and gRPC
When both complete
Then tile metadata is consistent.

## Constraints

- Depends on AZ-1074 landing first.
- Follow existing integration test patterns in `SatelliteProvider.IntegrationTests`.
