JS test: Home carries only Library's desktop background ticket

Aberta Para iniciantes
#427 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
78/100
Tipo de issue
Funcionalidade
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
javascript, node.js
Domínio
frontend, testing

Direção de pesquisa

Leia capsules/home/browser/home-shell-host.js e capsules/library/browser/src/api.js e, em seguida, examine a configuração de testes Node existente. Simule fetch, postMessage e o contexto do frame para cobrir o encaminhamento do ticket, a rejeição de outros apps, chaves extras e tickets inválidos, além da falha na solicitação de ticket da Library. O trabalho estará concluído quando esses comportamentos do navegador estiverem cobertos e Home nunca enviar o token de inicialização.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Found in the review of #67 (Set as Desktop Background from Library).

Runtime's side is tested in elastos/crates/elastos-server/src/api/gateway_tests/home_system.rs (test_home_background_from_object_ticket_is_single_use_and_short_lived). The browser side has no test:

  • capsules/library/browser/src/api.js setDesktopBackground asks /api/apps/library/desktop-background-ticket with Library's own token, then posts home:set-desktop-background with { uri, requestId, ticket }.
  • capsules/home/browser/home-shell-host.js handleSetDesktopBackgroundMessage accepts the message only from a launched Library app frame, with exactly those keys and a 43-character base64url ticket, and posts { source_uri, library_ticket }. It must never send the frame's launch token (context.homeToken).

What to do: a node test (stubbed fetch, postMessage and frame context) that proves Home sends the ticket and not the launch token, refuses the message from any other app or with extra keys or a bad ticket, and that Library sends no message when the ticket request fails.

Linguagem predominante
Rust
Estrelas
6
Forks
2
Merge médio
1d 3h
PRs com merge (30d)
42

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de elastos/elastos-runtime

Todas as issues de elastos/elastos-runtime

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.