bm-prod-list.js 884 B

123456789101112131415161718192021222324252627
  1. import { check } from 'k6';
  2. import { AdminApiRequest, ShopApiRequest } from '../utils/api-request.js';
  3. const loginMutation = new AdminApiRequest('admin/login.graphql');
  4. const productsQuery = new AdminApiRequest('admin/get-product-list.graphql');
  5. export let options = {
  6. stages: [{ duration: '1m', target: 1 }],
  7. };
  8. export function setup() {
  9. const result = loginMutation.post({ username: 'superadmin', password: 'superadmin' });
  10. check(result.data, {
  11. 'logged in': data => data.login.id != null,
  12. });
  13. return { authToken: loginMutation.authToken };
  14. }
  15. /**
  16. * Performs a simple query to measure baseline request throughput
  17. */
  18. export default function ({ authToken }) {
  19. const result = productsQuery.post({ options: { skip: 0, take: 10 } }, authToken);
  20. check(result.data, {
  21. 'fetched 10 items': data => data.products.items.length === 10,
  22. });
  23. }